在python中访问非树结构的xml数据

时间:2017-04-14 11:03:27

标签: python xml xml-parsing

我有几个我想在python中解析的xml文件。我知道python中的ElementTree包,但我的xml文件不存储在树状结构中。以下是一个例子

<tag1 attribute1="at1" attribute2="at2">My files are text that I annotated with a tool 
to create these xml files.</tag1>
Some parts of the text are enclosed in an xml tag, whereas others are not. 
<tag1 attribute1="at1" attribute2="at2"><tag2 attribute3="at3" attribute4="at4">Some
are even enclosed in multiple tags.</tag1></tag2>
And some have overlapping tags:
<tag1 attribute1="at1" attribute2="at2">This is an example sentence
<tag3 attribute5="at5">containing a nested example sentence</tag3></tag1>

每当我使用类似ElementTree的函数来解析文件时,我只能访问第一个标记。我正在寻找一种解析所有标签的方法,并且不希望树状结构。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果每行有一个XML片段,只需单独解析每一行。

for line in some_file:
    # parse using ET and getroot.