Python 如何将一个根添加到一个不';我没有一个根标签
我有一个XML文件没有一个根标记。我想向这个XML文件添加一个新的根标记 以下是现有的XML:Python 如何将一个根添加到一个不';我没有一个根标签,python,xml,parse-error,Python,Xml,Parse Error,我有一个XML文件没有一个根标记。我想向这个XML文件添加一个新的根标记 以下是现有的XML: <A> <Val>123</Val> </A> <B> <Val1>456</Val1> </B> 但在第一行,我得到了以下错误: xml.etree.ElementTree.ParseError:文档元素后的垃圾:第4行第4列 正如@kjhughes在评论中指出的,XML规范要求文档必
<A>
<Val>123</Val>
</A>
<B>
<Val1>456</Val1>
</B>
但在第一行,我得到了以下错误:
xml.etree.ElementTree.ParseError:文档元素后的垃圾:第4行第4列
正如@kjhughes在评论中指出的,XML规范要求文档必须具有单个根元素
from xml.etree import ElementTree as ET
node = ET.parse(Input_FilePath)
xml.etree.ElementTree.ParseError: junk after document element: line 4, column 0
您需要手动读取文件并自己添加标记:
from xml.etree import ElementTree as ET
with open(Input_FilePath) as f:
xml_string = '<X>' + f.read() + '</X>'
node = ET.fromstring(xml_string)
从xml.etree导入ElementTree作为ET
将open(Input_FilePath)作为f:
xml_字符串=“”+f.read()+“”
node=ET.fromstring(xml\u字符串)
我认为您可以在没有xml解析器的情况下使用。
如果您知道根标记丢失,您可以通过这种方式添加它
with open('test.xml', 'r') as f:
data = f.read()
with open('test.xml', 'w') as f:
f.write("<x>\n" + data + "\n</x>")
f.close()
以open('test.xml,'r')作为f的:
data=f.read()
以open('test.xml','w')作为f:
f、 写入(“\n”+数据+“\n”)
f、 关闭()
如果不知道,您可以通过以下方式进行检查:
import re
if re.match(u"\s*<x>.*</x>", text, re.S) != None:
#do something
pass
重新导入
如果重新匹配(u“\s**”,文本,重新匹配)!=无:
#做点什么
通过
with open('test.xml', 'r') as f:
data = f.read()
with open('test.xml', 'w') as f:
f.write("<x>\n" + data + "\n</x>")
f.close()
import re
if re.match(u"\s*<x>.*</x>", text, re.S) != None:
#do something
pass