4
我玩弄發現@http://www.jsphylosvg.com/examples/source.php?example=2&t=xml如何添加基於文本節點
的XML文件的值的XML節點我想插入一個節點,如果節點name="Espresso"
的價值。
E.g.我想改變來自:
<clade>
<name>Espresso</name>
<branch_length>2.0</branch_length>
</clade>
到:
<clade>
<name>Espresso</name>
<url>www.espresso.com</url>
<branch_length>2.0</branch_length>
</clade>
基於迄今爲止我可以使用xpath
查找包含咖啡(這應該工作的節點我也做了研究,但它不?)
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沒有de,並使用插入將它們附加到xml文檔中
但是,雖然這在理論上聽起來很好,但我無法使其工作。
我真的很感激任何幫助/建議
謝謝。代碼很好用你的示例DOC。但是,使用實際的文件它似乎沒有工作。 – Stylize 2012-08-13 02:54:57
@Stylize - 它可能失敗,因爲實際的文件有一個默認的命名空間。 – 2012-08-13 03:32:45
@DevNull,這是否意味着它無法完成? – Stylize 2012-08-13 11:45:25