[英]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.