我已经构建了一种方法,使用Saxon-HE的xpath组件从html文档中提取数据。我在此使用w3c dom对象模型。
我已经创建了一种方法,类似于jsoup(jsoupElement.text())的文本值方法,返回文本值。
这个代码很好用,但现在我需要选定节点的底层HTML(使用jsoup,它将是jsoupElement.html())。使用w3c dom对象模型,我有org.w3c.dom.Node。如何将org.w3c.dom.Node作为String获取HTML?我在文档中找不到任何相关信息。
仅供澄清:我需要作为字符串的内部HTML(带或不带节点元素/标记)。类似于http://api.jquery.com/html/或http://jsoup.org/apidocs/org/jsoup/nodes/Element.html#html--。
我已经创建了一种方法,类似于jsoup(jsoupElement.text())的文本值方法,返回文本值。
protected String getNodeValue(Node node) {
NodeList childNodes = node.getChildNodes();
for (int x = 0; x < childNodes.getLength(); x++) {
Node data = childNodes.item(x);
if (data.getNodeType() == Node.TEXT_NODE)
return data.getNodeValue();
}
return "";
}
这个代码很好用,但现在我需要选定节点的底层HTML(使用jsoup,它将是jsoupElement.html())。使用w3c dom对象模型,我有org.w3c.dom.Node。如何将org.w3c.dom.Node作为String获取HTML?我在文档中找不到任何相关信息。
仅供澄清:我需要作为字符串的内部HTML(带或不带节点元素/标记)。类似于http://api.jquery.com/html/或http://jsoup.org/apidocs/org/jsoup/nodes/Element.html#html--。
<xsl:output method="html"/>
或<xsl:output method="xhtml"/>
)的XSLT样式表进行HTML和XHTML序列化,因此您可以使用带有样式表的Transformer设置所需的方法。也许API也提供了一些方法。 - Martin Honnen