我正在尝试使用minidom用Python解析XML。当我从我的文件系统解析xml文件时,我没有任何问题。
doc = minidom.parse("PATH HERE")
etiquetaDia = doc.getElementsByTagName("dia")
for dia in etiquetaDia:
probPrecip = dia.getElementsByTagName("maxima")[0]
print(probPrecip.firstChild.data)
但是当我尝试使用以下代码解析来自URL的XML时:
url = urllib2.urlopen('URL HERE')
doc = minidom.parse(url)
etiquetaDia = doc.getElementsByTagName("dia")
for dia in etiquetaDia:
probPrecip = dia.getElementsByTagName("maxima")[0]
print(probPrecip.firstChild.data)
显然,它在路径和url中是相同的XML。感谢
答案 0 :(得分:2)
urlopen
函数返回HttpResponse
个对象。您必须首先调用此对象的read()
方法以获取响应的实际内容,并将其传递给minidom
minidom.parse(url.read())
答案 1 :(得分:1)
尝试使用新的urllib库,如下所示。 打印出Hello。这就是你想要的吗?
from xml.dom import minidom
from urllib import request
url = request.urlopen('http://localhost:8000/sample.xml')
doc = minidom.parse(url)
etiquetaDia = doc.getElementsByTagName("dia")
for dia in etiquetaDia:
probPrecip = dia.getElementsByTagName("maxima")[0]
print(probPrecip.firstChild.data)
示例XML
<?xml version="1.0" encoding="UTF-8"?>
<dia>
<maxima>Hello</maxima>
</dia>