解析具有空元素的xml文件时遇到问题

时间:2019-07-12 16:36:56

标签: python xml xml-parsing elementtree

我正在尝试使用ElementTree.parse解析xml文件,但是当存在一个空元素时,我得到了一个不匹配的标记错误。

我提供的xml文件只用end标签写空元素。

<person>
     <name>Mike</name>
     </age>
</person>

每次我在像这样的文件上使用ElementTree.parse()时,都会出现不匹配的标签错误,因为“ age”元素为空,因此仅打印结束标签。如果我的文件是这样的,还有其他方法可以解析XML文件吗?

1 个答案:

答案 0 :(得分:2)

那是无效的XML。 </age>只是元素的结束标签,没有开始标签。

有效的空age元素应写为<age></age>,或者用最短的版本写为<age/>

您会发现ElementTree.parse()对于以下文档是正确的:

<person>
    <name>Mike</name>
    <age/>
</person>

请参阅:https://www.w3.org/TR/REC-xml/#sec-starttags