2012-08-17 88 views
0

我需要獲取與使用XPath的標記一個節點的所有兒童,假設我有一個節點取一個節點的所有兒童與他們的標籤

<div id="topbar"> 
    <ul> 
    <li>product No</li> 
    <li>product name</li> 
    <li>product details</li> 
    </ul> 
</div> 

然後我想預期的輸出

<ul> 
    <li>product No</li> 
    <li>product name</li> 
    <li>product details</li> 
</ul> 

我試圖// DIV [@ ID = '的頂欄'] /節點()它返回其孩子的

XPath xpath1 = new DOMXPath(item.getXpathToExtractValue()); 
    Object itemObject = xpath1.selectSingleNode(element); 
    if (itemObject instanceof Node) 
     Node itemElement = (Node) itemObject; 

和正確的節點當我使用我temElement.getNodeValue()它正在返回產品沒有產品名稱產品詳細信息不是預期的輸出。

+0

你需要的東西,如:'itemElement.OuterXML' – 2012-08-17 12:53:25

回答

0

getNodeValue()返回節點的文本內容。您需要將節點轉換成字符串,如:

StringWriter writer = new StringWriter(); 
    TransformerFactory.newInstance() 
     .newTransformer() 
     .transform(new DOMSource(node), new StreamResult(writer)); 
    return writer.toString(); 
+0

其沒有給予預期的輸出爲我..還是第一個子節點其給予文字...: ( – pbhle 2012-08-17 12:09:08

相關問題