2011-09-22 3 views
1

자바 표준 튜토리얼 http://download.oracle.com/javase/tutorial/jaxp/xslt/xpath.html은 XPath 표준 자체를 설명하지만 XPath의 자바 API는 설명하지 않습니다. 내가 필요합니다 :
자바 XPath API 참조

1) 나는/사람/dateofbirth 요소를 참조하는 방법입니다 XPath 구문을 안다. 이 노드를 선택하고 텍스트 내용을 가져 오는 Java API는 무엇입니까?
2) XPath를 통해 DOM 객체를 얻을 수 있습니까?
3) xpath 자체가 아닌 api에 대한 공식 자습서입니다.
문제는 공식 및 직접 정보를 기반으로 삼기 때문에 실제 질문은 3 번째 포인트입니다.

답변

1

이 기사에서 Java에서 XPath API를 사용하여 XML 문서를 구문 분석하는 방법에 대해 설명합니다.

http://onjava.com/pub/a/onjava/2005/01/12/xpath.html

http://www.javaworld.com/javaworld/jw-09-2000/jw-0908-xpath.html

http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html

는 내가 API에 대한 공식 튜토리얼이 존재하는지 확실하지 않다.

+0

감사합니다! 그래서 oracle/sun의 공식 튜토리얼이 아닌가? 그들은 정말로 xpath 표준에 대해서 이야기하고 xpath에 대한 자바 API 지원은하지 않습니까? – AgostinoX

+0

@AgostinoX ibm developerworks 기사 및 다른 기사에는 xpath 표현식을 컴파일하고 XML 문서에서 데이터를 추출하는 Java API 코드가 있습니다. 이 공식 링크는 http://download.oracle.com/javase/1,5.0/docs/api/javax/xml/xpath/package-summary.html에서 볼 수 있습니다. –

1

간단한 API를 선호한다면 XPathAPI library을 살펴보십시오.

일반 Java API보다 사용하기가 쉽고 종속성이 없습니다. 또한 List<Node>을 지원하며 원시 Java API는 비 -Gelic NodeList 만 지원합니다.

예 :

Node user = XPathAPI.selectSingleNode(doc, "//user[@id='{}']", userID); 

List<String> titles = XPathAPI.selectNodeListAsStrings(doc, "//title"); 

List<Node> friends = 
    XPathAPI.selectListOfNodes(doc, "//user[@id='{}']/friend", userID); 

(면책 조항 : 나는 도서관의 저자입니다.)