如何将根添加到没有根标记的现有XML中

2024-09-27 07:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个没有根标记的XML文件。我想向这个XML文件添加一个新的根标记。在

以下是现有的XML:

<A>
    <Val>123</Val>
</A>

<B>
    <Val1>456</Val1>
</B>

现在我想添加一个根标记'X',这样最终的XML将如下所示:

^{2}$

我尝试过使用下面的python代码:

from xml.etree import ElementTree as ET  
root = ET.parse(Input_FilePath).getroot()   
newroot = ET.Element("X")    
newroot.insert(0, root)    
tree = ET.ElementTree(newroot)    
tree.write(Output_FilePath)

但在第一行,我得到了以下错误:

xml.etree.ElementTree.ParseError: junk after document element: line 4, column 4

Tags: 文件代码from标记treevalrootxml
2条回答

我认为你可以在没有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()

如果不知道,可以通过以下方式进行检查:

^{pr2}$

正如@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

您需要手动读取文件并自己添加标记:

^{pr2}$

相关问题 更多 >

    热门问题