<p>由于您使用的是lxml,所以可以使用XSLT和<a href="http://www.jenitennison.com/xslt/grouping/muenchian.html" rel="nofollow noreferrer">Muenchian Grouping</a>按其<code>fuelItem</code>属性对<code>Tank</code>元素进行分组。在</p>
<p>示例。。。在</p>
<p><strong>XML输入</strong>(输入.xml)在</p>
<pre class="lang-xml prettyprint-override"><code><EnterpriseDocument>
<FuelTankList>
<Tank fuelItem="Petrol" Sales="1000" />
<Tank fuelItem="Diesel" Sales="2000" />
<Tank fuelItem="Diesel" Sales="3000" />
</FuelTankList>
</EnterpriseDocument>
</code></pre>
<p><strong>XSLT 1.0</strong>(测试.xsl)在</p>
^{pr2}$
<p><strong>Python</strong></p>
<pre class="lang-py prettyprint-override"><code>from lxml import etree
tree = etree.parse("input.xml")
xslt = etree.parse("test.xsl")
new_tree = tree.xslt(xslt)
print(etree.tostring(new_tree, pretty_print=True).decode("utf-8"))
</code></pre>
<p><strong>输出</strong>(标准输出)</p>
<pre class="lang-xml prettyprint-override"><code><EnterpriseDocument>
<FuelTankList>
<Tank fuelItem="Petrol" Sales="1000"/>
<Tank fuelItem="Diesel" Sales="5000"/>
</FuelTankList>
</EnterpriseDocument>
</code></pre>