python etree找不到元素

时间:2016-09-13 12:35:54

标签: python elementtree

<?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解析器,这似乎只是更好的解决方案。

0 个答案:

没有答案