在使用python的minidom解析xml文件时,遇到一个问题,当使用parseString格式解析数据时,例如字符串
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <books> <book> <name>macken</name> <author>tan</author> </book> <book> <name>macken</name> <author>tan</author> </book> </books>
会将book下的name、author节点识别为元素节点,因为无法像文本节点直接用node.data或node.nodeValue获取里面的文本值,可以使用node.firstChild.data获取内部的文本值;
代码示例:
#!/usr/bin/env python # -*- coding: GBK -*- import urllib2 from xml.dom import minidom url="http://localhost:82/v1/game/" header = {'Accept':'application/xml'} request = urllib2.Request(url, headers=header) response = urllib2.urlopen(request) data = response.read() dom=minidom.parseString(data) for node in dom.childNodes: for model in node.childNodes: for x in model.childNodes: print x.firstChild.data