【问题标题】:Trouble with parsing xml file that has an empty element解析具有空元素的 xml 文件时遇到问题
【发布时间】:2019-07-12 16:36:56
【问题描述】:

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

我提供的 xml 文件仅写入带有结束标记的空元素。

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

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

【问题讨论】:

    标签: python xml xml-parsing elementtree


    【解决方案1】:

    这是无效的 XML。 &lt;/age&gt; 只是元素的结束标签,没有开始标签。

    一个有效的空age 元素将被写为&lt;age&gt;&lt;/age&gt;,或者,在最短的可能版本中,&lt;age/&gt;。

    您会发现ElementTree.parse() 在以下文档中正常工作:

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

    见:https://www.w3.org/TR/REC-xml/#sec-starttags

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 2011-04-06
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多