2

私のXMLファイルtest.xmlには、次のタグが含まれています

<?xml version="1.0" encoding="ISO-8859-1"?>
<AppName>
    <author>Subho Halder</author>
    <description> Description</description>
    <date>2012-11-06</date>
        <out>Output 1</out>
        <out>Output 2</out>
        <out>Output 3</out>
</AppName>

<out>タグが発生した回数を数えたい

これは私が書いたこれまでの私のPythonコードです:

from xml.dom.minidom import parseString
file = open('test.xml','r')
data = file.read()
file.close()
dom = parseString(data)
if (len(dom.getElementsByTagName('author'))!=0):
    xmlTag = dom.getElementsByTagName('author')[0].toxml()
    author = xmlTag.replace('<author>','').replace('</author>','')
    print author

誰かがここで私を助けてくれますか?

4

3 に答える 3

5

試すlen(dom.getElementsByTagName('out'))

from xml.dom.minidom import parseString
file = open('test.xml','r')
data = file.read()
file.close()
dom = parseString(data)
print len(dom.getElementsByTagName('out'))

与える

3
于 2013-02-15T15:04:24.237 に答える
1

lxmlの使用をお勧めします

import lxml.etree
doc = lxml.etree.parse(test.xml)
count = doc.xpath('count(//out)')

XPATH の詳細については、こちらを参照してください。

于 2013-02-15T15:07:24.827 に答える