Python 修改 XML 文件
我有一个xml模型。
我需要在这个文件中添加一些节点(请看注释的文字)。我该怎么做呢?
我写了一部分代码,但它不工作:
xmldoc=minidom.parse(directory)
child = xmldoc.createElement("map")
for node in xmldoc.getElementsByTagName("Environment"):
node.appendChild(child)
提前谢谢你。
1 个回答
1
我下载了你的示例xml文件,你的代码运行得很好。你遇到的问题很可能出在这一行:xmldoc=minidom.parse(directory)
。这行代码应该是指向你想要解析的文件的路径,而不是一个文件夹吧?parse()
这个函数是用来解析一个XML文件的,它并不会自动解析某个文件夹里的所有XML文件。
如果你把代码改成下面这样,应该就能正常工作了:
xmldoc=minidom.parse("directory/model_template.xml")
child = xmldoc.createElement("map")
for node in xmldoc.getElementsByTagName("Environment"):
node.appendChild(child)
然后如果你执行这条语句:print xmldoc.toxml()
,你会看到map
元素确实已经被添加到了Environment
元素里面:<Environment><map/></Environment>
。