2011-09-20 11 views
5

XML 파일을 구문 분석하기 위해 Java의 DOM 파서를 사용하고 있습니다.문서 - 이름으로 태그의 값을 얻는 방법?

의 나는 다음과 같은 XML 내가 '엔드 포인트'의 값을 취득하고자

<?xml version="1.0"?> 

<config> 
    <dotcms> 
     <endPoint>ip</endPoint> 
    </dotcms> 
</config> 

</xml> 

가 있다고 가정 해 보자. 나는 다음 코드 스 니펫으로 그것을 할 수있다. (이미 DocumentBuilder를 함께 분석한다고 가정)

NodeList nodeList = this.doc.getElementByTagName("dotcms"); 
Node nValue = (Node) nodeList.item(0); 
return nValue.getNodeValue(); 

그것은 필드의 이름으로 필드의 값을 얻을 수 있습니까? 마찬가지로 ....

Node nValue = nodeList.getByName("endPoint") 이런 식으로 ...?

//endPoint/text() 

나 : 당신은 작업의 이러한 종류의에 대한 XPath를 사용해야합니다

답변

5

XPath xpath = XPathFactory.newInstance().newXPath(); 
XPathExpression expr = xpath.compile("//endPoint/text()"); 
Object value = expr.evaluate(doc, XPathConstants.STRING); 
+0

// Great !! 감사합니다! 짧지 만 유용한 대답. – Moon

0

당신 :

물론
/config/dotcms/endPoint/text() 

자바 내장 support XPath에 대한이있다 jOOX, jquery과 같은 DOM wrapp도 사용할 수 있습니다. 더 적은 코드 작성 :

// Using css-style selectors 
String text1 = $(document).find("endPoint").text(); 

// Using XPath 
String text2 = $(document).xpath("//endPoint").text();