2
O'Reilly의 Python and XML에서 Python의 SAX 모듈을 배우려고합니다. 다음 샘플 코드를 실행하려고하는데 오류가 계속 발생하며 이유를 파악할 수 없습니다.ContentHandler가 정의되지 않았습니다.
첫 번째 파일은 handlers.py
입니다 :
class ArticleHandler(ContentHandler):
"""
A handler to deal with articles in XML
"""
def startElement(self, name, attrs):
print "Start element:", name
두 번째 파일은 첫 번째 파일 가져 art.py
이다 : 나는 art.py
를 실행하려고하면
#!/usr/bin/env python
# art.py
import sys
from xml.sax import make_parser
from handlers import ArticleHandler
ch = ArticleHandler()
saxparser = make_parser()
saxparser.setContentHandler(ch)
saxparser.parse(sys.stdin)
, 나는 다음을 얻을 :
를% python art.py < article.xml
Traceback (most recent call last):
File "art.py", line 7, in <module>
from handlers import ArticleHandler
File "~/handlers.py", line 1, in <module>
class ArticleHandler(ContentHandler):
NameError: name 'ContentHandler' is not defined
나는 분명히 분명하지 않은 부분이 있습니다. 아무도 도와 줄 수 있니?
감사합니다.
from xml.sax.handler import ContentHandler
이 그것을해야 다음과 같이
감사! 그게 효과가 있었어. (어쨌든, 나는이 책의 정오표를 놓쳤다. 그러나 여기에있다 : http://oreilly.com/catalog/errata.csp?isbn=9780596001285) –
아, 매우 유용한 링크, 고마워. – AndroidDebaser