使用XPath将节点名称和Text作为STring返回

时间:2013-10-19 09:37:30

标签: java html xml xpath

我尝试将Html页面转换为ecs-Object。为此,我正在使用partweise XPath。 (我用Java编码) 唯一的问题是,我希望XPath将所有节点名称和文本作为String返回。这有点难以解释,这是一个例子:

HTML的文件:

<html>
<head>
    <title>Derp</title>
</head>

<body>
    <div>nonsense&lt;IOText&gt;</div>
    <a href="http://google.de/">It's Google!</a>
</body>

现在我要执行以下XPath:

/html

并希望结果如下:

 <head>
    <title>Derp</title>
</head>

<body>
    <div>nonsense&lt;IOText&gt;</div>
    <a href="http://google.de/">It's Google!</a>
</body>

有这样的功能吗?

1 个答案:

答案 0 :(得分:0)

这不是一个Java问题,它是一个XSLT问题。我相信这会做你想要的:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes"/>
  <xsl:template match="/html/*">
    <xsl:copy-of select="."/>
  </xsl:template>
</xsl:stylesheet>

我从未发现您声称Java的XPath类不处理XSLT函数的证据。你能提供一个XSL样式表,它已知可以与其他XSLT工具一起使用但不能与Java的XPath一起使用吗?