我是一个有用的助手,可以帮您进行翻译。
我正在尝试处理一个XML文件,它位于http://www.jsphylosvg.com/examples/source.php?example=2&t=xml。
如果节点name="Espresso"
的值,我想插入一个节点。
例如,我想从以下内容进行更改:
<clade>
<name>Espresso</name>
<branch_length>2.0</branch_length>
</clade>
to:
<clade>
<name>Espresso</name>
<url>www.espresso.com</url>
<branch_length>2.0</branch_length>
</clade>
根据我目前的研究,我可以使用 xpath
找到包含 espresso 的节点 (这应该行得通,但为什么不行呢?)
import re, sys
import lxml.etree
f = open("test.xml", "r")
data = f.read()
tree = lxml.etree.XML(data)
if tree.xpath('//name/text()="Espresso"'):
insert new child here
目前为止,可以使用lxml.etree.Element
创建XML节点,并使用insert方法将它们附加到XML文档中。
但是,在理论上听起来很好的同时,我无法使其正常工作。
如果有任何帮助或建议,我会非常感激。