2009-03-24 4 views
1

XML (DOM 및 SAX 방식 모두) 작업에 적합한 Java API입니까? JAXP가 좋은 선택인가요? 아니면 비추천입니까? 그리고 제안 된 API에 대한 훌륭한 자습서는 무엇을 알고 있습니까?XML 용 Java API

감사합니다.

+0

vtd-xml을 보셨습니까? –

답변

5

나는 DOM과 XPath에 특히 유용하게 쓰이는 JDOM이 http://jdom.org 인 것을 좋아합니다. SAX는 JAXP 클래스를 기반으로합니다.

+0

그건 내 첫 번째 대답이었을거야. – mkoeller

+0

얼마 전에 JDOM은 네임 스페이스 처리에 약점을 보였습니다. 나는 이것이 아직도 오늘날의 경우인지 모른다. – mkoeller

3

StaX 나는 언급 할만한 가치가 있다고 생각합니다.

1

JAXP는 더 이상 사용되지 않습니다. Java에서 저수준 XML 작업에 적합한 선택입니다. 늘 그렇듯이 XML을 사용하여 수행하고자하는 작업에 따라 다릅니다.

개체간에 변환하는 경우 JAXB 2.0을 사용해보십시오. 진정한 저수준 XML 조작 (저수준 파싱, XSLT 변환, XPath 등)이 필요한 경우 JAXP가 좋은 선택입니다.

JAXB 2.0, StaX 및 Jdom (IIRC)을 비롯한 많은 Java XML 솔루션이 JAXP와 잘 통합되어 JAXP 프로세서간에 쉽게 전달 될 수 있습니다.

2

또한 JDOM의 최신 대안 인 XOM을 사용해보십시오.

0

절대적으로 당신이하는 일에 달려 있습니다. 다른 사람들은 자신이 좋아하는 것을 사용하여 작업 할 것이지만 이것은 명확한 설명이없는 무의미한 질문입니다.

1

나는 당신을 Xerces 추천한다. 수년간 노력해온 라이브러리 인 DOM과 Sax를 모두 지원합니다. 먼저 Xerces을보십시오. 충분하지 않거나 문제가 발생하면 다른 라이브러리를 살펴보십시오.

+0

Xerces는 Sun JRE에서 사용되는 JAXP 구현입니다. –

+1

그리고 그것은 정말로 끔찍합니다. 나는 최근에 프로젝트를 만들었고 일주일이 지나면 거의 모든 것이 NPE : JRE Xerces의 내부 메소드로 이루어져서 거의 일자리를 농업으로 바꾸게되었습니다. – Esko

1

XML을 처리하려는 경우 구문 분석 할 필요가없는 경우 XMLBeans이 좋습니다. 당신은 스키마를 제공하고 파싱을 처리 할 클래스를 생성합니다.

1

xstream을 시도해보십시오. 가장 잘 알고있는 프로그래머 용 자바 xml API입니다.