在解析这个xml时遇到困难。有人能告诉我该怎么做吗?
这是我尝试过的。
XML (test.xml)
<?xml version="1.0" ?>
<element xmlns="http://yoursite.com/">
<hello>
<world>1</world>
<world>2</world>
<world>3</world>
<world>4</world>
</hello>
</element>PYTHON
import xml.etree.ElementTree as ET
with open("test.xml",'r') as f:
tree = ET.parse(f)
for node in tree.findall('.//element/hello/world'):
print node.text当我运行这条蟒蛇时,我什么也得不到。请仁慈,因为我认为这应该是难以置信的简单。
发布于 2017-03-24 19:07:30
所有这些标记都位于命名空间(xmlns="http://yoursite.com/")下。因此,您需要在搜索前加上这个名称空间,或者创建别名映射,例如:
>>> ns = {'myns': 'http://yoursite.com/'}
>>> for node in tree.findall(('./myns:hello/myns:world'), ns):
... print(node.text)
1
2
3
4注意:.是您的根节点,所以myns:element不会找到任何东西(根下没有element )。
没有别名的搜索如下所示:
for node in tree.findall(('./{http://yoursite.com/}hello/{http://yoursite.com/}world')):https://stackoverflow.com/questions/43007042
复制相似问题