-1

次のような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」という名前を取得することです

4

2 に答える 2

3

チェックアウトしてくださいxml.etree.ElementTree

http://docs.python.org/library/xml.etree.elementtree.html

于 2012-05-15T09:34:54.700 に答える
0

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)
于 2012-05-15T10:47:54.497 に答える