【发布时间】:2009-04-01 16:53:41
【问题描述】:
我目前遇到的 XML 看起来像这样:
<ID>345754</ID>
这包含在层次结构中。我已经解析了xml,并希望通过搜索“345754”找到ID节点。
【问题讨论】:
我目前遇到的 XML 看起来像这样:
<ID>345754</ID>
这包含在层次结构中。我已经解析了xml,并希望通过搜索“345754”找到ID节点。
【问题讨论】:
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,您需要访问包含所需值的元素节点内的文本节点。
【讨论】:
xmldoc = minidom.parse('your.xml')
matchingNodes = [node for node in xmldoc.getElementsByTagName("id") if node.nodeValue == '345754']
另见:
【讨论】: