我有一个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>
但我需要值stream,file,livestream1等。
怎么做?
答案 0 :(得分: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 :(得分:1)
有关lxml和xpath:
的操作方法,请参阅from lxml import etree
doc = etree.fromstring(xml_string)
for elem in doc.xpath('//data/*'):
print elem.text
输出应该相同:
stream1
file
livestream1