【发布时间】:2016-12-07 02:42:44
【问题描述】:
我有一个 XML 文件,我想在其中编辑某些属性。我能够正确编辑属性,但是当我将更改写入文件时,标签上添加了一个奇怪的“ns0”。我怎样才能摆脱这个?这是我尝试过但没有成功的方法。我正在使用 Python 并使用 lxml。
import xml.etree.ElementTree as ET
from xml.etree import ElementTree as etree
from lxml import etree, objectify
frag_xml_tree = ET.parse(xml_name)
frag_root = frag_xml_tree.getroot()
for e in frag_root:
for elem in frag_root.iter(e):
elem.attrib[frag_param_name] = update_val
etree.register_namespace("", "http://www.w3.org/2001")
frag_xml_tree.write(xml_name)
但是,当我这样做时,我只会收到错误 Invalid tag name u''。我认为如果 xml 标签以数字开头,则会出现此错误,但我的 xml 并非如此。我真的很困惑如何继续。谢谢
【问题讨论】:
-
你使用的是什么 XML 库?
-
你使用什么语言?
-
我已更新帖子以包含信息。谢谢!
-
请发布您的 XML。
ns0几乎可以肯定是命名空间前缀,您可能实际上不需要删除它。 -
谢谢你!你是对的。我使用了错误的命名空间