例如,对于此XML,
<h1 item="name">HIDE and SEEK</h1>
我希望输出是
HIDE SEEK
可能吗?
最佳答案
由于我们不知道使用哪个版本,因此以下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
关于xml - 只想在XPath中选择大写文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26318634/