比如说,我有一个元素:
>>> el = etree.XML('<tag><![CDATA[content]]></tag>')
>>> el.text
'content'
我想得到的是<![CDATA[content]]> .我该怎么做?
请您参考如下方法:
当您执行 el.text 时,它总是会为您提供纯文本 content。
要查看序列化元素,请尝试使用 tostring():
el = etree.XML('<tag><![CDATA[content]]></tag>')
print(etree.tostring(el).decode())
这将打印:
<tag>content</tag>
要保留 CDATA,您需要使用 XMLParser()与 strip_cdata=False :
parser = etree.XMLParser(strip_cdata=False)
el = etree.XML('<tag><![CDATA[content]]></tag>', parser=parser)
print(etree.tostring(el).decode())
这将打印:
<tag><![CDATA[content]]></tag>
这应该足以满足您的“我想确保在测试中内容包含在 CDATA 中”的要求。
