从xm获取元素名称

2024-10-02 12:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下xml

<MMDEF>
    <elem1  MmDefault="1" Se="1.xml"/>
    <elem2  MmDefault="2" Se="2.xml"/>
    <elem3  MmDefault="3" Se="1.xml"/>
    <elem4  MmDefault="3" Se="2.xml"/>
    <elem5  MmDefault="5" Se="2.xml"/>
    <elem6  MmDefault="7" Se="1.xml"/>
</MMDEF>

如何获得包含属性的所有元素elem1、elem2、elem3、elem4、elem5和elem6的可编辑列表。你知道吗

请记住,elem1、elem2等可以是完全随机的字符串,因此我不能使用getElementsByTagName()来获取它们的属性


Tags: 字符串元素编辑列表属性xmlseelem1
2条回答
from xml.etree import ElementTree as ET

filePath = r'path/to/file'
root = ET.parse(filePath).getroot()

for child in root:
  print(child.tag, child.attrib)

我想使用lxml,它可以在windows上使用命令easy_install lxml轻松安装:

In [258]: x='''
     ...: <MMDEF>
     ...:     <elem1  MmDefault="1" Se="1.xml"/>
     ...:     <elem2  MmDefault="2" Se="2.xml"/>
     ...:     <elem3  MmDefault="3" Se="1.xml"/>
     ...:     <elem4  MmDefault="3" Se="2.xml"/>
     ...:     <elem5  MmDefault="5" Se="2.xml"/>
     ...:     <elem6  MmDefault="7" Se="1.xml"/>
     ...: </MMDEF>
     ...: '''

In [265]: from lxml import etree
     ...: rt=etree.fromstring(x)
     ...: for child in rt:
     ...:     print child.tag, child.attrib
elem1 {'MmDefault': '1', 'Se': '1.xml'}
elem2 {'MmDefault': '2', 'Se': '2.xml'}
elem3 {'MmDefault': '3', 'Se': '1.xml'}
elem4 {'MmDefault': '3', 'Se': '2.xml'}
elem5 {'MmDefault': '5', 'Se': '2.xml'}
elem6 {'MmDefault': '7', 'Se': '1.xml'}

相关问题 更多 >

    热门问题