在Python中解析XML文件

3

I have a XML file such as:

<?xml version="1.0" encoding="utf-8"?>
<result>
  <data>
    <_0>stream1</_0>
    <_1>file</_1>
    <_2>livestream1</_2>
  </data>
</result>

我使用了。
xmlTag = dom.getElementsByTagName('data')[0].toxml()
xmlData=xmlTag.replace('<data>','').replace('</data>','')

我得到了 XML 数据

<_0>stream</_0>
<_1>file</_1>
<_2>livestream1</_2>

但我需要流值、文件、直播流等,如何实现呢?
2个回答

2

我建议使用ElementTree。它比通常的DOM实现更快,而且我认为它更加优雅。

from xml.etree import ElementTree

#assuming xml_string is your XML above
xml_etree = ElementTree.fromstring(xml_string)
data = xml_etree.find('data')
for elem in data:
    print elem.text

输出将是:
stream1
file
livestream1

1

提供信息,这是使用lxml和xpath的方法:

from lxml import etree
doc = etree.fromstring(xml_string)
for elem in doc.xpath('//data/*'):
    print elem.text

输出应该是相同的:

stream1
file
livestream1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接