2012-08-17 89 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

相关问题