我希望能够在将XML文档导入Python时选择要打印的节点

时间:2014-09-28 00:21:35

标签: python xml nodes

我正在使用python来显示网站上托管的XML文件中的信息。我正在使用的代码如下:

#IMPORTS
from xml.dom import minidom
import urllib

#IMPORTING XML FILE
xmldocurl = 'http://gamebattles.majorleaguegaming.com/ps4/call-of-duty-ghosts/team/TeamCrYpToNGamingEU/stats.xml'
settings = urllib.urlopen(xmldocurl).read()
final = minidom.parseString(settings)

date = final.getElementsByTagName('date')


for node in date:
    test = node.getAttribute('timestamp')
    print test

返回以下内容:

1411853400
1411850700
1411847100
1411843500
1411839000
1411837200
1411831800
1411828200
1411822800
1411820100

我只希望它返回标题最近匹配项下第一个节点的时间戳。此代码返回所有称为时间戳的内容,但我只想要一个特定的代码。

我该如何选择呢。

由于

1 个答案:

答案 0 :(得分:1)

您需要获取recentMatches对象并查看第一场比赛的date。一种方法是:

#IMPORTS
from xml.dom import minidom
import urllib

#IMPORTING XML FILE
xmldocurl = 'http://gamebattles.majorleaguegaming.com/ps4/call-of-duty-ghosts/team/TeamCrYpToNGamingEU/stats.xml'
settings = urllib.urlopen(xmldocurl).read()
final = minidom.parseString(settings)

recentMatches = final.getElementsByTagName('recentMatches')[0]

for node in recentMatches.childNodes:
    if node.nodeName == "match":
        nodes = node.getElementsByTagName('url')
        print nodes[0].childNodes[0].data
        nodes = node.getElementsByTagName('date')
        print nodes[0].getAttribute('timestamp')
        break

这将迭代匹配并获得第一个日期时间戳。