[英]XML parsing with ElementTree and multiple elements
我需要解析一个看起来像这样的XML:
<tag>
text1 text2 text3
<some-tag/>
More text
<some-tag/>
Some more text
<some-tag/>
Even more text
</tag>
使用ElementTree的head和tail方法,我可以使用“text1 text2 text3”和“更多文本”。
但是,我无法想出一种方法来访问中间的文本(“更多文本”和“更多文本”)。
由于生成XML的软件的特性,我不能确定杂散标签,因此不能使用命令find('some-tag')。
有没有办法可以使用python解析这个XML?
谢谢
More text
和Some more text
是some-tag
尾巴。 请参阅以下内容:
>>> import xml.etree.cElementTree as et
>>> text = """<tag>
text1 text2 text3
<some-tag/>
More text
<some-tag/>
Some more text
<some-tag/>
Even more text
</tag>"""
>>> root = et.fromstring(text)
>>> for element in root: # leaving aside the text and tail of root for the moment
print element.tag, ': text =>', element.text or '', 'tail =>', element.tail
some-tag : text => tail => # the tail also has a newline character and white space at its beginning
More text
some-tag : text => tail =>
Some more text
some-tag : text => tail =>
Even more text
因此,您需要遍历每个元素的子元素,以查看子元素是否有任何尾部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.