Python изменить XML-файл - PullRequest
2 голосов
/ 14 мая 2010

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

текст ссылки

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

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

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

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

1 Ответ

1 голос
/ 14 мая 2010

Я скачал ваш пример 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>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...