我有一个xml文件:
<one>
<a>sth</a>
<b>sth</b>
<c>sth</c>
</one>
<one>
<a>x</a>
<b>y</b>
<c>z</c>
</one>
我想要的是使用 xml.dom 从 xml 中检索名称“a”、“b”、“c”,即节点“one”下的子节点
退房xml.etree.ElementTree
。
XML 文件应该像这样的格式
<?xml version="1.0" ?>
<ones>
<one>
<a>sth</a>
<b>sth</b>
<c>sth</c>
</one>
<one>
<a>x</a>
<b>y</b>
<c>z</c>
</one>
</ones>
您可以尝试以下代码:
from xml.dom import minidom
xmldoc = minidom.parse('filePath')
root = xmldoc.documentElement
ones = root.getElementsByTagName('one')
L = []
for one in ones:
m = {}
#print onn.getElementsByTagName('a')[0].childNodes[0].nodeValue
#print n.getElementsByTagName('b')[0].childNodes[0].nodeValue
#print n.getElementsByTagName('c')[0].childNodes[0].nodeValue
for n in one.childNodes:
if n.nodeType == n.ELEMENT_NODE:
m[n.nodeName] =n.firstChild.nodeValue
L.append(m)