【发布时间】:2010-09-21 10:03:30
【问题描述】:
在解析文本文件时,我需要避免在 xml 树中创建双分支。假设文本文件如下(行的顺序是随机的):
branch1:branch11:message11
分支 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 树中创建另一个分支?
【问题讨论】:
标签: python xml elementtree