cElementTree
라이브러리를 사용하여 Python에서 XML 파일을 구문 분석합니다. 모든 것이 잘 작동합니다.파이썬에서 cElementTree를 사용하여 XML 파일을 구문 분석 : 파일의 오류 및 행 번호를 처리합니다.
XML의 값이 올바르지 않은 경우 사용자에게 전체 오류 메시지를 제공하고 싶습니다.
<A name="xxxx" href="yyyy"/>
을하고 href
속성이 존재 또는 주어진 목록에없는 값이없는 경우 사용자가 말하고 싶은 :
예를 들어, 나는 다음과 같은 XML이 있다고 가정하자. 순간
, 내 예외가 어딘가에 잡힌if elem.get("ref") not in myList:
raise XMLException(elem, "the 'href' attribute is not valid or does not exist")
같은 것을 가지고있다.
그러나 XML 요소의 줄 번호를 파일에 표시하고 싶습니다. 그렇게 할 수있는 동등한 XML 라이브러리가 있나요 :
질문 :-(... cElementTree
트리의 XML 요소의 줄 번호에 대한 정보를 저장하지 않는 것 같다? 아니면 방법은 XML 파일의 XML 요소의 위치에 액세스 할 수 있도록?
감사
답변 감사합니다. lxml 잘 작동하고 요소를 sourceline 특성이 있습니다. 내 오래된 컴퓨터에서 lxml은 cElementTree에 비해 상대적으로 느립니다 (입력 파일에 따라 25 %에서 50 % 더 느림) – ThibThib
http://codespeak.net/lxml/performance.html. 로딩, 구문 분석, cElementTree는 더 느리지 만 트리 순회 및 직렬화는 더 빠릅니다. –
sourceline은 거대한 파일의 오류 처리에 큰 도움이됩니다! 감사 :) –