Python修改一个xml文件

标签 python xml add

我有这个 xml 模型。

link text

因此我必须向该文件添加一些节点(请参阅注释文本)。 我该怎么做?

我已经写了这部分代码,但它不起作用:

xmldoc=minidom.parse(directory)
child = xmldoc.createElement("map")
for node in xmldoc.getElementsByTagName("Environment"):
    node.appendChild(child)

提前致谢。

最佳答案

我下载了您的示例 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> .

关于Python修改一个xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2836132/

相关文章:

android - 更改 Android 的 xml 中的菜单导航图标颜色

java - 我不能分发 JAXB 封闭代码?

c++ - vector 在结构中不起作用

java - 为什么需要使用 "big = big.add(..)"来求和 BigIntegers?

python - 动态存储API数据

python - SWI-Prolog 中哈希表的实现

android - 什么是应用程序 :overlayImage in xmlns:app="http://schemas. android.com/apk/res-auto?

c# - 在字符串的每一行添加一个字符

Python 3 可执行文件作为 Windows 服务

python - 从云函数在 Google Cloud Storage 中创建新的 csv 文件