3

我有一个 XML 文件,例如:

<?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>','')

我得到了 xmlData

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

但我需要值流、文件、livestream1 等。

这个怎么做?

4

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
于 2012-06-14T07:30:06.757 回答
1

供您参考,这是使用lxml和 xpath 的方法:

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

输出应该是相同的:

stream1
file
livestream1
于 2012-06-14T11:09:38.870 回答