Python XML属性为空

Python XML属性为空,python,xml,Python,Xml,我正在将一个xml对象从文件读入Windows10上的Python3.6。以下是xml的一个示例: <?xml version="1.0"?> <rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <item>

我正在将一个xml对象从文件读入Windows10上的Python3.6。以下是xml的一个示例:

<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <item>     
            <BurnLocation>@ 32 40 52.99 @ 80 57 33.00</BurnLocation>
            <geo:lat>32.681389</geo:lat>
            <geo:long>-80.959167</geo:long>
            <County>Jasper</County>
            <BurnType>PD</BurnType> 
            <BurnTypeDescription>PILED DEBRIS</BurnTypeDescription> 
            <Acres>2</Acres> 
        </item>
        <item>     
            <BurnLocation>@ 33 29 34.26 @ 81 15 52.89</BurnLocation>
            <geo:lat>33.492851</geo:lat>
            <geo:long>-81.264694</geo:long>
            <County>Orangebrg</County>
            <BurnType>PD</BurnType> 
            <BurnTypeDescription>PILED DEBRIS</BurnTypeDescription> 
            <Acres>1</Acres> 
        </item>
    </channel>
</rss>
我遇到的问题是,我似乎无法分离子标记的属性,它们将作为空字典出现。以下是一个结果示例:

   BurnLocation {}
   {http://www.w3.org/2003/01/geo/wgs84_pos#}lat {}
   {http://www.w3.org/2003/01/geo/wgs84_pos#}long {}
   County {}
   BurnType {}
   BurnTypeDescription {}
   Acres {}
   BurnLocation {}
   {http://www.w3.org/2003/01/geo/wgs84_pos#}lat {}
   {http://www.w3.org/2003/01/geo/wgs84_pos#}long {}
   County {}
   BurnType {}
   BurnTypeDescription {}
   Acres {}
我试图打印标签中的项目(即Jasper),我做错了什么

这里需要的是每个元素的内容,而不是它们的属性

应该这样做(对于固定文件名稍微简化):

但是,我可以通过以下方式将其简化:

  • 一次定位所有
    元素,以及
  • 然后在其子元素上循环
  • 因此


    打印出节点名称。然后您将知道您在代码中处于什么级别。顺便说一句,我注意到除了根声明之外,没有任何元素具有属性。这也许可以解释一些事情。是的,我已经做到了,它告诉我,从烧伤部位开始,我处于正确的水平。我现在将更新。我想你可能正在为术语而挣扎。你的
    是对的,但是属性是
    。我知道,你是对的。
       BurnLocation {}
       {http://www.w3.org/2003/01/geo/wgs84_pos#}lat {}
       {http://www.w3.org/2003/01/geo/wgs84_pos#}long {}
       County {}
       BurnType {}
       BurnTypeDescription {}
       Acres {}
       BurnLocation {}
       {http://www.w3.org/2003/01/geo/wgs84_pos#}lat {}
       {http://www.w3.org/2003/01/geo/wgs84_pos#}long {}
       County {}
       BurnType {}
       BurnTypeDescription {}
       Acres {}
    
    import xml.etree.ElementTree as ET
    
    tree = ET.parse('sample.xml')
    root = tree.getroot()
    
    for child in root:
        for next1 in child:
            for next2 in next1:
                print ('{} = "{}"'.format(next2.tag,next2.text))
            print ()
    
    import xml.etree.ElementTree as ET
    
    tree = ET.parse('sample.xml')
    
    for item in tree.findall('*/item'):
        for elem in list(item):
            print ('{} = "{}"'.format(elem.tag,elem.text))
        print ()