擅长:python、mysql、java
<p>使用<code>lxml</code>模块。你知道吗</p>
<pre><code>content = """
<body>
<NODE attribute1="characters" attribute2="chr" name="node1">
<content>
value1
</content>
</NODE>
<NODE attribute1="camera" name="node2">
<content>
value2
</content>
</NODE>
<NODE attribute1="camera" attribute2="car" name="node3">
<content>
value2
</content>
</NODE>
<NODE attribute1="characters" attribute2="car" name="node3">
<content>
value2
</content>
</NODE>
<NODE attribute1="characters" name="node3">
<content>
value2
</content>
</NODE>
</body>
"""
from lxml import etree
root = etree.fromstring(content)
l = root.xpath('//*[@attribute1="characters" and ( not(@attribute2) or @attribute2!="chr") ]')
for i in l:
print i.tag, i.attrib
</code></pre>
<p>输出:</p>
<pre><code>$ python test.py
NODE {'attribute2': 'car', 'attribute1': 'characters', 'name': 'node3'}
NODE {'attribute1': 'characters', 'name': 'node3'}
</code></pre>