Python изменить XML-файл

У меня есть эта модель XML.

текст ссылки

Поэтому я должен добавить некоторый узел (см. Текст с комментариями) к этому файлу. Как я могу это сделать?

Я написал этот частичный код, но он не работает:

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

Заранее спасибо.

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>,

Другие вопросы по тегам