1
import xml.dom.minidom

document = """\
<parent>
    <child1>value 1</child1>
    <child2>value 2</child2>
    <child3>value 3</child3>
</parent>
"""

def getText(nodelist):
    rc = []
    for node in nodelist:
        if node.nodeType == node.TEXT_NODE:
            rc.append(node.data)
        else:
            print "not text: "+ node.toxml()

    return ''.join(rc)

def handleParent(family):
    handleChild(family.getElementsByTagName("parent")[0])

def handleChild(parent):
    print getText(parent.childNodes)

dom = xml.dom.minidom.parseString(document)
handleParent(dom)

このコードが子タグ間の値を取得しない理由を誰か教えてもらえますか? これは、ここから取り除かれた例ですhttp://docs.python.org/library/xml.dom.minidom.html

これは出力です:

not text: <child1>value 1</child1>
not text: <child2>value 2</child2>
not text: <child3>value 3</child3>

助けてくれてありがとう。

4

1 に答える 1

0

あなたは1つのレベルより深く行く必要があります。テキストはの子です<childN>

def getText(nodelist):
    rc = []
    for outer in nodelist:
        for node in outer.childNodes:
            if node.nodeType == node.TEXT_NODE:
                rc.append(node.data)
            else:
                print "not text: "+ node.toxml()

    return ''.join(rc)
于 2012-10-19T18:16:43.110 に答える