簡體   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