我正在使用 Python 的 minidom 库来尝试和操作一些 XML 文件。这是一个示例文件:
<document>
<item>
<link>http://www.this-is-a-url.com/</link>
<description>This is some information!</description>
</item>
<item>
<link>http://www.this-is-a-url.com/</link>
<description>This is some information!</description>
</item>
<item>
<link>http://www.this-is-a-url.com/</link>
<description>This is some information!</description>
</item>
</document>
我需要做的是,将“描述”中的值放入“链接”中,这样双方都说“这是一些信息!”。我试过这样做:
#!/usr/bin/python
from xml.dom.minidom import parse
xmlData = parse("file.xml")
itmNode = xmlData.getElementsByTagName("item")
for n in itmNode:
n.childNodes[1] = n.childNodes[3]
n.childNodes[1].tagName = "link"
print xmlData.toxml()
然而 "n.childNodes[1] = n.childNodes[3]" 似乎将两个节点链接在一起,所以当我做 "n.childNodes[1].tagName = "link"" 来更正名称时,两个子节点都变成了“链接”在它们之前都是“描述”。
此外,如果我使用“n.childNodes[1].nodeValue”,则更改不起作用,并且 XML 以其原始形式打印。我究竟做错了什么?