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='topbar']/node() を試してみましたが、子を持つ正しいノードを返しています

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

itemElement.getNodeValue() を使用すると、期待される出力ではなく製品名製品の詳細が返されません。

4

1 に答える 1

0

getNodeValue()は、ノードのテキストコンテンツを返します。ノードを文字列に変換する必要があります。例:

    StringWriter writer = new StringWriter();
    TransformerFactory.newInstance()
        .newTransformer()
        .transform(new DOMSource(node), new StreamResult(writer));
    return writer.toString();
于 2012-08-17T11:27:13.850 に答える