1

例如,对于这个 XML,

<h1 item="name">HIDE and SEEK</h1>

我希望输出是

HIDE SEEK

可能吗?

4

1 回答 1

3

由于我们不知道您使用的是哪个版本,因此以下 XPath 表达式对 XPath 1.0 和 2.0 都有效

normalize-space(translate(//h1,'abcdefghijklmnopqrstuvwxyz',''))

在 XPath 2.0 中,该解决方案可能会稍微优雅一些​​。

请注意,这只会影响小写字母,但不会影响数字、标点符号或任何其他字符。几个空格被标准化为一个空格。

用于说明的 XSLT 1.0 样式表

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="text"/>

    <xsl:template match="/">
      <xsl:value-of select="normalize-space(translate(//h1,'abcdefghijklmnopqrstuvwxyz',''))"/>
    </xsl:template>

</xsl:transform>

XML 输入

<h1 item="name">HIDE and SEEK</h1>

输出

HIDE SEEK
于 2014-10-11T20:11:02.317 回答