我目前面临的XML看起来像这样:
<ID>345754</ID>
这包含在层次结构中。我已经解析了xml,并希望通过搜索“345754”找到ID节点。
答案 0 :(得分:10)
vartec的回答需要纠正(对不起,我不确定我能做到这一点),它应该是:
xmldoc = xml.dom.minidom.parse('your.xml')
matchingNodes = [node for node in xmldoc.getElementsByTagName("ID") if
node.firstChild.nodeValue == '345754']
它有两个问题:(i)标签名称区分大小写,因此"id"
上的匹配不起作用,(ii)元素节点.nodeValue
将None
,您需要访问包含所需值的元素节点内的文本节点。
答案 1 :(得分:4)
xmldoc = minidom.parse('your.xml')
matchingNodes = [node for node in xmldoc.getElementsByTagName("id") if node.nodeValue == '345754']
另见: