2012-11-13 1 views

답변

2

소스 코드를 간략히 살펴보면 resolve_entities=False만큼 쉬운 것은 없습니다. 여기

the source of xml.etree.ElementTree.XMLParser의 추출물 :

parser.DefaultHandlerExpand = self._default 
parser.StartElementHandler = self._start 
parser.EndElementHandler = self._end 
parser.CharacterDataHandler = self._data 
# optional callbacks 
parser.CommentHandler = self._comment 
parser.ProcessingInstructionHandler = self._pi 

구성된 다른 pyexpat 핸들러가 없습니다.

이제 & 또는 다른 유명 XML 엔터티에 관심이 있으십니까? 정의되지 않은 엔티티가 XMLParser._default을 통과하는 것처럼 보이므로 해당 메소드를 확장하여 무언가를 얻을 수 있습니다.

하지만 이걸로 무엇을하려고합니까? 새로운 엔티티 만 추가하는 경우 XMLParser.entity 딕트를 업데이트하십시오.

+1

나는'parser = ElementTree.XMLParser();를 사용하는 것을 피하고자했다. parser.parser.UseForeignDTD (True); parser.entity [ 'nbsp'] = '& # x00A0;' '그리고 가능성있는 XHTML 파일 가능성 스크립트를 – theta

+0

과 함께 제공합니다. 이미 해결책이 있습니다./ 그렇다면 아니요, 아무것도 없습니다. 그것보다 간단합니다. –

+0

확인해 주셔서 감사합니다. – theta