私は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]」は2つのノードをリンクしているように見えるため、「n.childNodes [1] .tagName = "link"」を実行して名前を修正すると、両方の子ノードは次のようになります。以前は両方とも「説明」だった「リンク」。
さらに、「n.childNodes [1] .nodeValue」を使用すると、変更が機能せず、XMLが元の形式で出力されます。私は何が間違っているのですか?