编程语言
首页 > 编程语言> > XML:如何按属性值获取元素 – Python 2.7和minidom

XML:如何按属性值获取元素 – Python 2.7和minidom

作者:互联网

我想首先在TagName上获取XML元素列表,然后在属性值上获取第二个XML元素列表.
我正在使用xml.dom库和python 2.7.

虽然很容易完成第一步:

from xml.dom import minidom
xmldoc = minidom.parse(r"C:\File.xml")
PFD = xmldoc.getElementsByTagName("PFD")
PNT = PFD.getElementsByTagName("PNT")

我一直在环顾四周,但找不到第二步的解决方案.是否有类似.getElementsByAttributeValue的东西可以给我一个列表来使用?

如果XML看起来像这样

<PFD>
     <PNT A="1" B=.../>
     <PNT A="1" B=.../>
     <PNT A="2" B=.../>
</PFD>

需要所有PNT,其中A =“1”在列表中.

解决方法:

如果您没有找到内置方法,为什么不迭代这些项?

from xml.dom import minidom
xmldoc = minidom.parse(r"C:\File.xml")
PFD = xmldoc.getElementsByTagName("PFD")
PNT = xmldoc.getElementsByTagName("PNT")
for element in PNT:
    if element.getAttribute('A') == "1":
        print "element found"

将项目添加到列表应该很容易.

标签:minidom,python,python-2-7,xml
来源: https://codeday.me/bug/20190722/1507580.html