Python 使用Beauty Soup查找XML中的所有属性

Python 使用Beauty Soup查找XML中的所有属性,python,xml,beautifulsoup,Python,Xml,Beautifulsoup,我有一个XML文件,看起来像这样: <tagA key1="val1" key2="val2" key3="val3"> <tagB.1 key1="val1" key2="val2" key3="val3"/> <tagB.2 key1="val1" key2="val2" key3="val3"/> <tagB.3 key1="val1" key2="val2" key3="val3"/> <tagB.4 key1="val1" key2

我有一个XML文件,看起来像这样:

<tagA key1="val1" key2="val2" key3="val3">
<tagB.1 key1="val1" key2="val2" key3="val3"/>
<tagB.2 key1="val1" key2="val2" key3="val3"/>
<tagB.3 key1="val1" key2="val2" key3="val3"/>
<tagB.4 key1="val1" key2="val2" key3="val3"/>
<tagB.5 key1="val1" key2="val2" key3="val3"/>
</tagA>

我试图做的是在
tagB.x
中提取
key1
key2
key3
的名称,并将它们放入列表中。这样我可以在以后提取它的值。它应该能够处理更多或更少的元素,因为每个文件都是不同的。谢谢

您应该使用解析器:

xml=”“”
"""
将xml.etree.ElementTree作为ET导入
root=ET.fromstring(xml)
对于根目录中的子目录:
打印child.tag、child.attrib.keys()
tagB.1['key3'、'key2'、'key1']
标记B.2['key3'、'key2'、'key1']
tagB.3['key3'、'key2'、'key1']
标记B.4['key3'、'key2'、'key1']
标记B.5['key3'、'key2'、'key1']

我浏览了整个BeautifulSoup文档,但似乎找不到任何东西……为什么不使用
xml
模块
xml="""
<tagA key1="val1" key2="val2" key3="val3">
<tagB.1 key1="val1" key2="val2" key3="val3"/>
<tagB.2 key1="val1" key2="val2" key3="val3"/>
<tagB.3 key1="val1" key2="val2" key3="val3"/>
<tagB.4 key1="val1" key2="val2" key3="val3"/>
<tagB.5 key1="val1" key2="val2" key3="val3"/>
</tagA>
"""


import xml.etree.ElementTree as ET

root = ET.fromstring(xml)
for child in root:
    print child.tag, child.attrib.keys()

tagB.1 ['key3', 'key2', 'key1']
tagB.2 ['key3', 'key2', 'key1']
tagB.3 ['key3', 'key2', 'key1']
tagB.4 ['key3', 'key2', 'key1']
tagB.5 ['key3', 'key2', 'key1']