0

XML ドキュメントから値を取得しようとする次のコードがあります。

from xml.dom import minidom
xml = """<SoccerFeed TimeStamp="20130328T152947+0000">
           <SoccerDocument uID="f131897" Type="Result" />
             <Competition uID="c87">
             <MatchData>
               <MatchInfo TimeStamp="20070812T144737+0100" Weather="Windy"Period="FullTime" MatchType="Regular" />
               <MatchOfficial uID="o11068"/>
               <Stat Type="match_time">91</Stat>
               <TeamData TeamRef="t810" Side="Home" Score="4" />
               <TeamData TeamRef="t2012" Side="Away" Score="1" />
             </MatchData>
             <Team uID="t810" />
             <Team uID="t2012" />
             <Venue uID="v2158" />
           </SoccerDocument>
         </SoccerFeed>"""

xmldoc = minidom.parseString(xml)
soccerfeed = xmldoc.getElementsByTagName("SoccerFeed")[0]
soccerdocument = soccerfeed.getElementsByTagName("SoccerDocument")[0]

#Match Data
MatchData = soccerdocument.getElementsByTagName("MatchData")[0]
MatchInfo = MatchData.getElementsByTagName("MatchInfo")[0]
Goal = MatchData.getElementsByTagNameNS("Side", "Score")

Goalに設定されて[]いますが、スコア値を取得したいと思います。これは4です。

4

1 に答える 1

0

間違った XML ノードを検索しているようです。次の行を確認してください。

Goal = MatchData.getElementsByTagNameNS("Side", "Score")

あなたはおそらく次のものを探しています:

Goal = MatchData.getElementsByTagName("TeamData")[0].getAttribute("Score")

注: Document.getElementsByTagNameDocument.getElementsByTagNameNSElement.getElementsByTagNameElement.getElementsByTagNameNSは、単なるスカラー値ではなく、ノードのリストを返します。

于 2013-07-31T19:45:19.157 に答える