解析文本文件时,我需要避免在 xml 树中创建双分支。假设文本文件如下(行的顺序是随机的):
分支 1:分支 11:消息 11 分支 1:分支12:消息 12 分支 2:分支
21:消息 21 分支 2:分支 22:
消息
22
所以生成的 xml 树应该有一个有两个分支的根。这两个分支都有两个子分支。我用来解析这个文本文件的 Python 代码如下:
import string
fh = open ('xmlbasic.txt', 'r')
allLines = fh.readlines()
fh.close()
import xml.etree.ElementTree as ET
root = ET.Element('root')
for line in allLines:
tempv = line.split(':')
branch1 = ET.SubElement(root, tempv[0])
branch2 = ET.SubElement(branch1, tempv[1])
branch2.text = tempv[2]
tree = ET.ElementTree(root)
tree.write('xmlbasictree.xml')
这段代码的问题是,xml 树中的一个分支是用文本文件中的每一行创建的。
如果已经存在具有此名称的分支,有什么建议如何避免在 xml 树中创建另一个分支?