2010-06-28 5 views
0

XPath 및 Java에 대한 초보자 수는 여기에 있습니다.XPath를 사용하여 Java XML을 구문 분석 하시겠습니까?

<A> 
    <B> 
    <C>test 1</C> 
    </B> 
    <B> 
    <C/>test 2</C> 
    </B> 
    <B> 
    <C/>test 3</C> 
    </B> 
</A> 

for each XMLDoc.children() as BNode 
    array.append(BNode.getXPathValueAt('B/C')); 
end for each 

XML 문서에 중첩 값을 얻기 위해 같은 XPath의를 사용하는 자바 쉬운 방법이 있나요 : 이런 식으로 뭔가 내가 무엇을 시도하고있어인가? 하나의 XML 문서에서 XPath 값을 가져 오는 빠르고 쉬운 방법이 필요하며, 결국 해시 맵이나 객체에 붙여야합니다.

답변

3

예제 코드. 건배 :

public class XPathExample { 

    static final String XML = 
     "<A>" + 
     " <B><C>test 1</C></B>" + 
     " <B><C>test 2</C></B>" + 
     " <B><C>test 3</C></B>" + 
     "</A>"; 

    public static void main(final String[] args) throws Exception { 
     final XPathFactory xpathFactory = XPathFactory.newInstance(); 
     final XPath xpath = xpathFactory.newXPath(); 
     final InputSource xml = new InputSource(new StringReader(XML)); 
     final NodeList list = (NodeList) xpath.evaluate("A/B/C", xml, XPathConstants.NODESET); 
     for (int i = 0; i < list.getLength(); i++) { 
      final Node node = list.item(i); 
      System.out.println(node.getTextContent()); 
     } 
    } 

} 
관련 문제