我想得到一个基于标记名和属性值的XML元素列表。
我使用的是xml.dom库和Python2.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>
需要列表中a=“1”的所有pnt。
最佳答案
如果找不到内置方法,为什么不遍历这些项?
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"
现在将项目添加到列表应该很容易。