python elementtree生成xml_python – 使用ElementTree保存XML文件

我正在尝试开发简单的Python(3.2)代码来读取XML文件,进行一些更正并将其存储回来。然而,在存储步骤中,ElementTree添加了这个命名空间命名。例如:

ACTIVE LOG

6.385864

2011-12-10T17:46:30Z

5.905273

2011-12-10T17:46:51Z

7.347168

2011-12-10T17:52:28Z

代码段如下:

def parse_gpx_data(gpxdata, tzname=None, npoints=None, filter_window=None,

output_file_name=None):

ET = load_xml_library();

def find_trksegs_or_route(etree, ns):

trksegs=etree.findall('.//'+ns+'trkseg')

if trksegs:

return trksegs, "trkpt"

else: # try to display route if track is missing

rte=etree.findall('.//'+ns+'rte')

return rte, "rtept"

# try GPX10 namespace first

try:

element = ET.XML(gpxdata)

except ET.ParseError as v:

row, column = v.position

print ("error on row %d, column %d:%d" % row, column, v)

print ("%s" % ET.tostring(element))

trksegs,pttag=find_trksegs_or_route(element, GPX10)

NS=GPX10

if not trksegs: # try GPX11 namespace otherwise

trksegs,pttag=find_trksegs_or_route(element, GPX11)

NS=GPX11

if not trksegs: # try without any namespace

trksegs,pttag=find_trksegs_or_route(element, "")

NS=""

# Store the results if requested

if output_file_name:

ET.register_namespace('', GPX11)

ET.register_namespace('', GPX10)

ET.ElementTree(element).write(output_file_name, xml_declaration=True)

return;

我已经尝试使用register_namespace,但没有积极的结果。

这个版本的ElementTree 1.3有什么具体的变化吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值