【发布时间】:2017-12-12 02:49:35
【问题描述】:
我有点惊讶,使用双斜杠作为 cmets 似乎是有效的 XML。
以下使用 Python 和 xml.etree.ElementTree 和 xmllint --format 正确解析:
<root>
<child1>text1</child1>
<child2></child2> //this is a valid comment
<child3></child3>
</root>
我一开始以为这可以看作是根元素的文本节点,但在 python3 上尝试证明我错了:
>>> import xml.etree.ElementTree as ET
>>> r=ET.parse("test.xml").getroot()
>>> r.text
'\n '
>>> child2=r[1]
>>> child2.text
>>> ET.tostring(child2)
b'<child2 /> //this is a valid comment\n '
有人可以指出允许这样做的规范吗?
【问题讨论】:
标签: xml python-3.x xml-parsing w3c