XML-файл, который обрабатывается:
<?xml version = "2.0" encoding = "UTF-8"?> <xmi:XMI xmi:Version = "2.0" xmlns:xmi="http://schema.omg.org/spec/XMI/2.0" xmlns:foo.a ="http://example.com/mphg/" xmlns:foo.b = "http://example.com/abcd/"> <foo.a:city name = "DELHI"></foo.a:city> <foo.b:city name = "ChandiniChouk"></foo.b:city> </xmi:XMI>
код для обработки xml с использованием python
import xml.etree.ElementTree as ET import sys, os ET._namespace_map["http://example.com/mphg/"] ="foo.a" ET._namespace_map["http://example.com/abcd/"] = "foo.b" tree = ET.parse(web.xml) root = tree.getroot() tree.write(file, encoding = "UTF-8", xml_declaration = True)
выходной XML-файл
<?xml version = "1.0" encoding = "UTF-8"?> <xmi:XMI xmi:Version = "2.0" xmlns:xmi="http://schema.omg.org/spec/XMI/2.0"> <foo.a:city name = "DELHI" xmlns:foo.a ="http://example.com/mphg/" ></foo.a:city> <foo.b:city name = "ChandiniChouk" xmlns:foo.b = "http://example.com/abcd/"></foo.b:city> </xmi:XMI>
файл добавляется с дополнительным атрибутом, который не требуется, а также все пространства имен удаляются из корневого тега