【发布时间】:2009-10-28 19:44:55
【问题描述】:
我必须解析一个大的 HTML 文件,而我只对一小部分(表格)感兴趣。 因此,我考虑使用 XSLT 以更简单的方式简化/转换 HTML,然后我可以轻松处理。
我遇到的问题是找不到我的桌子。所以我不知道是否可以使用 XSL 样式表解析 HTML。
顺便说一下,HTML 文件是这样的(示意图,缺少标签):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html id="ctl00_htmlDocumento" xmlns="http://www.w3.org/1999/xhtml" lang="es-ES" xml:lang="es-ES">
<div> some content </div>
<div class="NON_IMPORTANT"></div>
<div class="IMPORTANT_FATHER>
<div class="IMPORTANT">
<table>
HERE IS THE DATA IM LOOKING FOR
</table>
</div>
</div>
根据要求,这是我的 xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="tbody">
tbody found, lets process it
<xsl:for-each select="tr">
new tf found, lets process it
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
完整的 HTML 很大,所以我不知道如何在这里展示它...我已经在 Oxygen 上测试了有效文档,它说它是有效的。
提前致谢。 贡索
【问题讨论】:
-
XSLT 用于对输入文档执行转换而不是解析。此外,如果不显示您的 HTML 和 XSLT 文档,您将无法获得有用的答案。
-
您可能想展示您是如何尝试使用样式表以及失败的样式表的 sn-p。
-
你可以这样做,但我认为你会遇到麻烦。您应该在您的语言中使用支持草率 html 的 html 解析器。
-
由于您的文档是 XHTML,XSLT 应该可以处理它,因此您的样式表可能有问题。如果没有看到试图处理表格的实际样式表,可能还有导致表格的 HTML 结构,就不可能再说更多了。