我有一个xsl从html页面中选择文本:
<content name="body_content">
<xsl:apply-templates select="//body//text()"/>
</content>
它工作正常,删除所有HTML标记并仅在正文标记之间选择文本。
问题是当它删除HTML标记并选择连接单词的文本时,例如:
<body>
<u>Internet Access</u>
<u>Web</u>
<u>new cars</u>
</body>
它将产生一个这样的XML字段:
<content name="body_content">Internet Accesswebnew cars</content>
这并不是真的错,因为它只是按照指示选择文本,但由于单词连接,它对我不起作用。
我正在使用XSL 1.0,有没有人知道克服这个问题的任何方式?
提前致谢
(html标签可能没有意义,我只是为这个例子写了这个方式)
答案 0 :(得分:1)
您可以使用以下模板修改text()
个节点:
<xsl:template match="text()[normalize-space(.) != '']">
<txt><xsl:value-of select="." /><txt /> <!-- Customize this line -->
</xsl:template>
在此示例中,每个非空text()
节点都包含在<txt>
元素中。但您可以根据需要自定义它。