python minidom:'NoneType' 对象没有来自 url 的属性 'data'
python minidom: 'NoneType' object has no attribute 'data' from url
我正在尝试使用 minidom 解析 XML 和 Python。当我从我的文件系统解析一个 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。谢谢
urlopen
函数returns一个HttpResponse
对象。您必须先调用此对象的 read()
方法来获取响应的实际内容,并将其传递给 minidom
minidom.parse(url.read())
尝试使用新的 urllib 库,如下所示。
它打印出你好。是你想要的吗?
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>
我正在尝试使用 minidom 解析 XML 和 Python。当我从我的文件系统解析一个 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。谢谢
urlopen
函数returns一个HttpResponse
对象。您必须先调用此对象的 read()
方法来获取响应的实际内容,并将其传递给 minidom
minidom.parse(url.read())
尝试使用新的 urllib 库,如下所示。 它打印出你好。是你想要的吗?
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>