【发布时间】:2017-09-15 13:05:38
【问题描述】:
from lxml import etree
from xml.etree import cElementTree as ET
tree = ET.parse(r"D:\General\Python_Preference_validation\sample.xml")
root = tree.getroot()
root[0][1].text
这是XML 文件:
<?xml version="1.0"?>
<data>
<country name="Liechtenstein">
<rank>1</rank>
<year>2008</year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>
我希望得到 2008 年的输出,但是当我运行脚本时,它没有提供任何输出,也没有抱怨任何语法错误。也粘贴了代码和xml
【问题讨论】:
-
要验证的 xml 存在于某个目录的位置。
-
经过本地测试,运行良好。如果你尝试这个会发生什么:
for r in root: print r? -
@floatingpurr for loop 给了我
我想要所有年份元素的简单平面列表进行比较
标签: python xml-parsing lxml