我想在footnote.text
之前插入reverse_html
作为footnote
的第一个元素,但失败了
我该怎么做
#!/usr/bin/env python3
from unittest import TestCase, TestProgram
class T(TestCase):
def test(self):
try:
from lxml.etree import fromstring, tostring, XMLParser
except ImportError:
raise
p_start = r'<p id="n1">'
p_text = r'description'
p_end = r'</p>'
p = p_start + p_text + p_end
a = r'<a href="#r1">^</a>'
parser = XMLParser(remove_blank_text=True)
footnote, reverse_href = (fromstring(xml, parser) for xml in (p, a))
self._transform(footnote, reverse_href)
expected = self._expected(p_start, p_text, p_end, a)
gotten = tostring(footnote).strip().decode()
self.assertEqual(expected, gotten)
@staticmethod
def _transform(footnote, reverse_href):
footnote.text = ' ' + footnote.text
footnote.insert(0, reverse_href)
@staticmethod
def _expected(p_start, p_text, p_end, a):
return p_start + a + ' ' + p_text + p_end
if __name__ == r'__main__':
TestProgram()
在
lxml.etree
模型中,这意味着将footnote.text
移动到reverse_html
的tail
:结果:
相关问题 更多 >
编程相关推荐