Python Minidom XML解析可互换的大写和小写节点名称

时间:2014-06-08 04:30:24

标签: python xml minidom

希望在这里寻求帮助。我正在编写一个小脚本来从数据文件中提取信息。以下是xml的开始......它非常大。

<?xml version="1.0" encoding="ISO-8859-1"?>
<flatNet Version="1" id="{014852F8-3010-4a5f-8215-8F47B000EA60}" sch="Vbt-mbb-1.4.scs">
<partNumbers>
<PartNumber Name="PN_LIB_NAME" Version="1">
<Properties Ver="1">
<a Key="PARTNAME" Value="PART_NAME"/>
<a Key="ALTPARTREF" Value="PART_REF"/>

我的问题是,在我需要解析的一些文件中,节点是大写的,有些是小写的。 如何将节点名称(&#34; a&#34;或&#34; A&#34;)放入变量中,以便将其用于函数?

否则,每次我想根据文件包含的内容解析新文件时,我都会手动更改它。

提前感谢大家!

1 个答案:

答案 0 :(得分:0)

您必须拥有2个节点列表并单独使用它们

a1 = doc.getElementsByTagName('a')
a2 = doc.getElementsByTagName('A')

#do stuff with a1 and a2

或标准化标签:

>>> import xml.dom.minidom as minidom
>>> xml = minidom.parseString('<root><head>hi!</head><body>text<a>blah</a><A>blahblah</A></body></root>')
>>> allEls = xml.getElementsByTagName('*')
>>> for i in allEls:
    if i.localName.lower() == 'a':
        print i.toxml()


<a>blah</a>
<A>blahblah</A>