簡體   English   中英

XML模塊解析Python 2.7.6和2.7.3之間的差異

[英]XML Module Parsing Differences Between 2.7.6 and 2.7.3 in Python

我正在使用本教程來學習一些Python概念,但是,在嘗試使用2.76中的這一行代碼時遇到了這個問題。 Dave在monitor.py文件中的視頻的53分鍾部分使用2.73。

我正在使用這行代碼來嘗試修復錯誤...

from xml.etree.ElementTree import parse

反對

import xml.etree.ElementTree import parse 

(這是python 2.7.3中的視頻所使用的)

但是,當我使用它時,它不起作用。 我得到這個錯誤。

   PS C:\python27> python monitor.py
   Traceback (most recent call last):
     File "monitor.py", line 28, in <module>
        monitor()
      File "monitor.py", line 15, in monitor
       doc = parse(u)
      File "C:\Python27\lib\xml\etree\ElementTree.py", line 1182, in parse
       tree.parse(source, parser)
      File "C:\Python27\lib\xml\etree\ElementTree.py", line 656, in parse
       parser.feed(data)
     File "C:\Python27\lib\xml\etree\ElementTree.py", line 1642, in feed
        self._raiseerror(v)
      File "C:\Python27\lib\xml\etree\ElementTree.py", line 1506, in _raiseerror
        raise err
    xml.etree.ElementTree.ParseError: undefined entity &nbsp;: line 50, column 47

我應該寫什么導入代碼行,為什么? 我已經嘗試過“ as”和“ import”

這是我正在使用的代碼。

#monitor.py
import urllib
from xml.etree.ElementTree import parse

candidates = ['4131','4163','4132']
daves_latitude = 41.980262


def distance(lat1, lat2):
    'Return distance in miles between two lats'
    return 69*(lat1 - lat2)

def monitor():
    u = urllib.urlopen('http://ctabustracker.com/bustime/mapgetBusesForRoute.jsp?route=22')
    doc = parse(u)
    for bus in doc.findall('bus'):
        busid = bus.findtext('id')
        if busid in candidates:
            lat = float(bus.findtext('lat'))
            dis = distance(lat, daves_latitude)
            print busid, dis, 'miles'
        print '-'*10


import time

while True:
    monitor()
    time.sleep(60)
#XXX INCORRECT, DO NOT USE IT
import xml.etree.ElementTree import parse 

錯誤xml.etree.ElementTree.ParseError: undefined entity &nbsp與您以任何方式導入ElementTree模塊的方式無關。 該行為在Python 2.7.6和2.7.3中相同。

@karthikr與解釋該問題的評論中的問題相關聯: &nbsp; 默認情況下未為xml定義,請參閱使用(X)HTML實體解析XML

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM