2009-11-11 2 views
1

현재 두 가지 품종 인 LXMLlibXML2을 모두 사용할 수 있습니다. 특히 메모리 문자열과 파일을 XML로 구문 분석하고 XSLT 스타일 시트를 가져 와서 적용하기 위해 벤치마킹을 시도했습니다. 순수한 성능 기반 테스트에서 LXML이 맨 위에 올랐다는 것을 나타내지 만 (특히 스타일 시트 적용) libxml2는 많은 다른 언어의 표준으로 사용 된 것 같습니다. 또한 파싱하는 동안 LXML은 엔티티 대체에 어려움이있는 것으로 보입니다.Python 2.6.x 용 XML/XSL lib 선택

내 질문은 주로 다음과 같습니다. 생산에 LXML을 사용했는지, 사용자가 노출 수를 확인 했습니까?

+0

'libxml2'라고 말하면 파이썬 바인딩이 있다는 뜻인가요? –

+0

예, 명확하지 않은 점에 대해 사과드립니다. –

답변

2

저는 LXML을 사용했고 매우 인상적이었습니다. etree-like 인터페이스와 objectify 인터페이스를 모두 갖춘 유연성은 매우 편리합니다. 나는 또한 내가 별도의 텍스트 노드를 가질 필요가 없다는 사실을 좋아한다.

엔티티 대체물과 관련하여 몇 가지 문제가 있었지만 제게는 파서를 만들 때 파서에게 적절한 옵션을 제공해야했습니다.

예를 들어, 원격 DTD에서 개체를로드하려는 경우, 당신은 같은 것을 시도 할 수 있습니다 : True

parser = etree.XMLParser(load_dtd=True, no_network=False) 

no_network 플래그 기본값을하고 내 의견에 비트 카운터 - 직관적이다, 하지만 그게 내가 맞았던 유일한 방해물이야.

+0

그럼 그걸 정착! 고맙습니다! –