Python XML生成:避免使用多个ns0标记而不使用lxml

时间:2015-01-09 10:19:36

标签: python xml xpath elementtree prefix

我有一个python脚本,它只是读取" input.xml"并复制到" output.xml"文件。如" output.xml"中所示,Python的Xpath生成ns0ns1标记。如何在不使用其他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>

1 个答案:

答案 0 :(得分:0)

我担心,没有简单的解决办法。

Python bug跟踪器中有一个issue与之相关,但暂时没有关闭。

您可以尝试遵循那里提出的解决方案,但看起来不太清楚。

我的建议是重新考虑使用lxml - 它为XML处理提供了真正的力量,Google AppEngine就是这样。