요소 트리 모듈을 사용하려고하는데 이해할 수없는 오류가 발생합니다.
여기 내 코드는 Python 문서 자체 인 Python Element Tree doc를 기반으로합니다 . 어떻게 든 스크립트를 실행하려고 할 때 오류가 발생했습니다.
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
file_name_xml = "curl-result.xml"
tree = ET.parse(file_name_xml)
tree.getroot()
이 코드를 실행할 때 :
./python2.6 modify_xml_file.py
그런 다음이 오류가 발생했습니다.
Traceback (most recent call last):
File "modify_xml_file.py", line 8, in <module>
tree = ET.parse(file_name_xml)
File "<string>", line 45, in parse
File "<string>", line 32, in parse
SyntaxError: not well-formed (invalid token): line 1, column 4
cElementTree
Python 2.6 에 포함 된 버전은 잘못된 XML에 대한 SyntaxError
예외를 발생 시킵니다 .
>>> with open('bad.xml', 'w') as badxml:
... badxml = '<foobar\n'
...
>>> import xml.etree.cElementTree as ET
>>> tree = ET.parse('bad.xml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 45, in parse
File "<string>", line 32, in parse
SyntaxError: no element found: line 1, column 0
이것은 Python 2.7에서 수정 된 C 가속 코드의 버그입니다. (느린) Python 파서는 더 유용한 오류를 발생시킵니다.
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('bad.xml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mjpieters/Development/Library/buildout.python/parts/opt/lib/python2.6/xml/etree/ElementTree.py", line 862, in parse
tree.parse(source, parser)
File "/Users/mjpieters/Development/Library/buildout.python/parts/opt/lib/python2.6/xml/etree/ElementTree.py", line 587, in parse
self._root = parser.close()
File "/Users/mjpieters/Development/Library/buildout.python/parts/opt/lib/python2.6/xml/etree/ElementTree.py", line 1254, in close
self._parser.Parse("", 1) # end of data
xml.parsers.expat.ExpatError: no element found: line 1, column 0
XML 입력 파일을 수정하십시오.
무엇을 2.7으로 변경하는 것은 ElementTree가 된 것입니다 버전 1.3으로 업데이트 , 버전 파서 개선 의 새로운 도입, ParseError
의 서브 클래스 예외를, SyntaxError
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다