반응형
사용할 Haskell XML 라이브러리는 무엇입니까?
Haskell에 XML 처리 라이브러리가 몇 개 있음을 알았습니다.
- HaXml 이 가장 인기있는 것 같습니다 ( dons 에 따라 )
- HXT 는 가장 진보 된 것 같습니다 (화살표 덕분에 배우기 가장 어렵습니다)
- 기본 파서 인 것 같은 xml
- HXML 이 버려진 것 같습니다.
- tagsoup 및 tagchup
- libXML 및 libXML SAX 바인딩
따라서 원하는 경우 선택할 라이브러리
- 합리적으로 강력 함 (XML에서 데이터 추출 및 XML 수정)
- 장래에 오랫동안 지원 될 가능성이 있음
- "커뮤니티 선택"(기본 선택)
그리고 위의 대부분이 나의 현재 필요에 충분 해 보이지만 다른 것보다 그중 하나를 선택하는 이유는 무엇입니까?
UPD 20091222 :
라이센스에 대한 몇 가지 참고 사항 :
- BSD 또는 MIT : hexpat , hxt , libxml , tagsoup , xml
- LGPL : HaXml
- GPLv2 :
- GPLv3 : libxml-sax , tagchup , tagsoup-ht
다음을 추천합니다.
특이한 화살표 구문을 제외하고 HXT의 주요 문제는 성능과 메모리 사용량입니다. 약 1.5MB의 XML을 처리하는 데 1.2 초를 소비하고 프로세스에서 약 2.3GB (!)의 메모리를 사용하는 앱이 있습니다. Libxml2는 동일한 데이터에 대해 몇 밀리 초가 걸립니다. css
함수 및 화살표 술어 를 통해 데이터를 추출하는 것도 Libxml2에 비해 매우 느립니다.
저는 개인적으로 HXT를 추천합니다. 왜냐하면 그것은 배우는데 매우 유용하고 강력한 도구 인 화살표를 사용 하기 때문입니다 . 그리고 XML 파싱 라이브러리는 화살표를위한 완벽한 사용입니다 (모나드가 할 수 없었던 다양한 파싱 문제를 해결하기 위해 처음 발명되었습니다). 화살표는 JavaScript의 Arrowlets 와 같은 순수 함수형 프로그래밍 외부에서도 사용되기 시작했습니다 .
참고 URL : https://stackoverflow.com/questions/1361307/which-haskell-xml-library-to-use
반응형
'programing' 카테고리의 다른 글
LDAP는 무엇을 해결합니까? (0) | 2020.12.05 |
---|---|
PHP의 정적 속성에 대한 Magic __get getter (0) | 2020.12.05 |
요소의 고유성을 보장하는 대기열? (0) | 2020.12.05 |
.py 확장자없이 파이썬 모듈 가져 오기 (0) | 2020.12.05 |
파일 시스템은 동시 읽기 / 쓰기를 어떻게 처리합니까? (0) | 2020.12.05 |