擅长:python、mysql、java
<p><a href="http://effbot.org/zone/elementtree-13-intro.htm" rel="noreferrer">ElementTree 1.3</a>(不幸的是不是Python中包含的1.2)<a href="http://effbot.org/zone/element-xpath.htm" rel="noreferrer">supports XPath</a>这样:</p>
<pre><code>import elementtree.ElementTree as xml
def getValues(tree, category):
parent = tree.find(".//parent[@name='%s']" % category)
return [child.get('value') for child in parent]
</code></pre>
<p>那你就可以了</p>
<pre><code>>>> tree = xml.parse('data.xml')
>>> getValues(tree, 'CategoryA')
['a1', 'a2', 'a3']
>>> getValues(tree, 'CategoryB')
['b1', 'b2', 'b3']
</code></pre>
<p><code>lxml.etree</code>(它也提供ElementTree接口)也将以同样的方式工作。</p>