<?xml version="1.0" encoding="UTF-8"?>
<adsf version="1.1" xmlns="asdf2123.asd">
<someData type="def" scope="all">
<header>
<log dateTime="2002-08-12:00:12" action="created" user="root" >start</log>
</header>
<node class="aclass" operation="create" distName="root/aclass-1" version="F7">
<p name="locationName">middle</p>
<p name="release">09_1040</p>
<p name="title">asdf</p>
<p name="label">asdr</p>
</node>
<node class="UNIT" operation="create" distName="root/aclass-1/unit" version="F7">
<p name="isTrue">true</p>
<p name="type">A</p>
<p name="typeExpected">B</p>
</node>
</someData>
</adsf>
现在我有了这部分代码。现在,我想凝聚“节点”的列表。对象。 它什么都不打印。我在这里做错了什么?
import xml.etree.ElementTree as ET
class MyClass(object):
def myMethod(self,file):
return ET.parse(file)
if __name__ == "__main__":
tree = MyClass.myMethod(os.path.join('<PATH>', 'asd.xml'))
for node in tree.findall('.//node'):
print(node.tag)
由于此问题看似重复,我想添加解决方案: 似乎xmlns是这个解析器的真正问题。最好的方法就是将这个解析器设置为有问题且无法使用并转换为dom或minidom解析器,这似乎只是更好的解决方案。