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