繁体   English   中英

使用Python ElementTree XML API查找结束标签

[英]Finding end tags with Python ElementTree XML API

解析某些XML时,我想确定是否遇到特定元素的结束标记。 是否可以通过ElementTree XML API?

样本XML:

<data>
  <folder name="a">
  <folder name="b">
    <file name="a1">
    </file>
  </folder>
  <file name="b2">
  </file>
  </folder>
</data>

例如:在上面的XML中访问<file name="b2"> ,我希望能够知道已经遇到</folder>

只需使用ElementTree.fromstring()

假设您的xml文件是这样的:

xml1.xml

<?xml version="1.0" encoding="UTF-8"?>
    <data>
      <folder name="a">
          <folder name="b">
            <file name="a1">
            </file>
          </folder>
      <file name="b2">
      </file>
      </folder>
    </data>

xml2.xml

<?xml version="1.0" encoding="UTF-8"?>
    <data>
      <folder name="a">
          <folder name="b">
            <file name="a1">
            </file>
          </folder>
      <file name="b2">
      </file>

    </data>

当您调用ElementTree.fromstring(open('xml1.xml').read()) ,它将正确完成。 当您调用ElementTree.fromstring(open('xml2.xml').read()) ,它将引发错误,称为xml.parsers.expat.ExpatError: mismatched tag ,这意味着您的文件夹标记不完整。

如果这回答了您的问题,请确认。 谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM