2014-10-11 34 views
1

例如只選擇大寫文字,這個XML,旺旺的XPath

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

我所要的輸出是

HIDE SEEK 

這可能嗎?

+0

什麼的XPath的版本樣式表你使用?關於不是字母的字符,例如數字,標點符號等? – 2014-10-11 20:06:02

+0

使用Xpath 1.0。他們只是字母/數字,沒有特別的字符。 @MathiasMüller – Hideandseek 2014-10-11 20:12:20

+1

好的,我編輯了您的問題以包含此信息。而且,既然我正在寫信,請注意你以前的一些問題 - 其中一些問題有你應該接受的答案。 – 2014-10-11 20:15:16

回答

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