擅长:python、mysql、java
<p>如果不局限于使用xml.dom.minidom,<a href="http://lxml.de/">lxml</a>具有更好的搜索功能。注意,lxml不是内置的,需要安装<a href="https://pypi.python.org/pypi/lxml">lxml package</a>和非Python依赖项。</p>
<p>例如:</p>
<pre><code>>>> from lxml import etree
>>> root = etree.parse(r"C:\File.xml")
>>> for e in root.findall('PNT[@A="1"]'):
... print etree.tostring(e)
<PNT A="1" B="c"/>
<PNT A="1" B="b"/>
</code></pre>
<p>Lxml还通过<code>element.xpath('query')</code>支持所有<a href="http://en.wikipedia.org/wiki/XPath">XPath</a>。其他方便的函数包括<code>element.findtext</code>,它可以找到适当的元素并返回其文本,<code>element.find</code>和<code>element.findall</code>,后者返回所有匹配查询的元素的第一个/列表,这些元素使用包含公共查询的XPath子集。</p>