html - 使用 XSLT 获取元素的所有文本,而不考虑标签

标签 html xml xslt xslt-1.0

我有一个 XML 文件并且有数据

<text>
    <DIV style="TEXT-ALIGN: left; LINE-HEIGHT: 120%; FONT-SIZE: 10pt; PADDING-TOP: 14px">
    <FONT style="FONT-STYLE: italic; FONT-FAMILY: inherit; FONT-SIZE: 10pt; FONT-WEIGHT: bold">
    Spondon adsfa dtewr qewr qerm</FONT></DIV>

        <DIV style="TEXT-ALIGN: left; LINE-HEIGHT: 120%; FONT-SIZE: 10pt">
        <FONT style="FONT-FAMILY: inherit; FONT-SIZE: 10pt"><BR/></FONT>
        </DIV>
        <DIV style="TEXT-ALIGN: left; LINE-HEIGHT: 120%; FONT-SIZE: 10pt">
        <FONT style="FONT-FAMILY: inherit; FONT-SIZE: 10pt">
       fhretwe rtwer dfsdfhfgh dfgh dfg  sfgh sfg sfg citis with anticipated industry demand trends. Accordingly, in March 2010, the 
        Company recorded long-lived asset impairment losses of </FONT>
        <FONT style="FONT-FAMILY: inherit; COLOR: #000000; FONT-SIZE: 10pt; TEXT-DECORATION: none">
        $72 million</FONT>
        <FONT style="FONT-FAMILY: inherit; FONT-SIZE: 10pt"> 
        (Note13)to Other (charges) gains, net in the unaudited interim 
        consolidated statements of operations. The Spondon, Derby, United Kingdom 
        operations are included in the Consumer Specialties segment.</FONT></DIV></text>

我想使用 XSLT 获取该文件中的所有文本,无论元素和标签如何。 有什么东西可以得到这个吗? 我尝试这样做来获取源中所有元素的文本

<xsl:template match="/">
        <xsl:value-of select="normalize-space()"/>
</xsl:template>

最佳答案

使用:

string(/)

或使用:

normalize-space(/)

计算上面的第一个 XPath 表达式会生成文档节点的字符串值——根据定义,这是 XML 文档中所有文本节点的串联(按文档顺序)。

计算上面的第二个 XPath 表达式会生成相同的字符串值,其中所有前导和尾随空白字符已被删除,并且所有空白字符的中间序列已被替换为单个字符串空间。

更新:

如果确实需要执行 XSLT 转换,最短的转换之一是:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:strip-space elements="*"/>
</xsl:stylesheet>

关于html - 使用 XSLT 获取元素的所有文本,而不考虑标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911594/

相关文章:

javascript - 如何浏览一个javascript对象

java - 我想在没有模式的情况下漂亮地打印 org.w3c.dom.Document

java - 无法使用绑定(bind)从 xsd 生成 java 类

xml - 在解析 XSL-FO 模板创建 PDF 时遇到错误?

javascript - 为什么换行符 ( ) 通过客户端上的 XSLT 在 Google Chrome 浏览器中正确呈现字符?

php - 如何始终在正方形中显示图像

html - 使用 CSS 移动输入单选按钮

javascript - Protractor 不清除输入字段的内容

C# 尝试获取嵌套节点的 XML 内部文本

java - 在 Java 中对 XML 数据应用一个或多个 XSLT 样式表