Python XML生成:避免在没有lxml的情况下使用多个ns0标记
我有一个python脚本,它只读取“input.xml”并复制到“output.xml”文件中。如“output.xml”所示,Python的Xpath生成Python XML生成:避免在没有lxml的情况下使用多个ns0标记,python,xml,xpath,elementtree,prefix,Python,Xml,Xpath,Elementtree,Prefix,我有一个python脚本,它只读取“input.xml”并复制到“output.xml”文件中。如“output.xml”所示,Python的Xpath生成ns0,ns1标记。如何在不使用其他xml库(如lxml)的情况下避免这些标记 脚本: import xml.etree.ElementTree as ET fileName = "input.xml" tree = ET.parse(template) tree.write("output.xml") Input.xml: <C
ns0
,ns1
标记。如何在不使用其他xml库(如lxml)的情况下避免这些标记
脚本:
import xml.etree.ElementTree as ET
fileName = "input.xml"
tree = ET.parse(template)
tree.write("output.xml")
Input.xml:
<Car>
<brand xmlns = "www.car.com" xmlns:brand="www.bmw.com">
<arg key="name" value="series 3" />
</brand>
<market xmlns = "www.ebay.com">
<arg key="name" value="auto"/>
</market>
</Car>
output.xml:
<Car xmlns:ns0="www.car.com" xmlns:ns1="www.ebay.com">
<ns0:brand>
<ns0:arg key="name" value="series 3" />
</ns0:brand>
<ns1:market>
<ns1:arg key="name" value="auto" />
</ns1:market>
</Car>
恐怕没有简单的解决办法 Python中有一个bug跟踪器,它与暂时未关闭的bug跟踪器相关 您可以尝试遵循那里提出的解决方案,但看起来不太清楚
我的建议是重新考虑使用
lxml
——它为XML处理提供了真正的能力,googleappengine也包括了这一点。Hi Jan,lxml支持python 3.4吗?@Taewan问得很好。在我的Linux机器上,我顺利安装了它——lxml的源代码声称“这个lxml版本需要Python 2.6、2.7、3.2或更高版本。”。这是使用源代码分发版来编译它。在Windows上,您可以按此问题进行操作。无论如何,我已经使用了多年的lxml
,并强烈推荐它——克服可能出现的安装问题的努力很快就会得到回报。