我有一个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)
Run Code Online (Sandbox Code Playgroud)
但是,执行此操作时,只会收到错误“无效标签名称u”。如果xml标记以数字开头,我认为会出现此错误,但我的xml并非如此。我真的对如何继续执迷不悟。谢谢
实际上,方法似乎是两件事的结合。
xml.etree.ElementTree
这是仅使用而不是更正后的代码lxml
:
import xml.etree.ElementTree as ET
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
ET.register_namespace("", "http://www.w3.org/2001")
frag_xml_tree.write(xml_name)
Run Code Online (Sandbox Code Playgroud)