我有一个 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/