次のような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、つまりノード「one」の下の子から「a」、「b」、「c」という名前を取得することです
チェックアウトしてください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)