2012-07-18 50 views

回答

1

函數lower-case()upper-case()僅在XPath 2.0和更高版本中可用。

在XPath 1.0不區分大小寫的字符串比較使用

translate($string1, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') 
= 
translate($string2, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') 

其中$string1$string2是表達式指定字符串進行比較。

0

您可能希望有一個看的XPath規範第7.6.2:

http://www.w3.org/TR/xpath-functions/#func-matches

隨着fn:matches功能你寫一個正則表達式匹配所需目標字符串。

乾杯,

+0

我不應該在這裏用某種模式匹配xml節點數據。但是,具有用戶輸入值的節點元素數據。我有一個書籍節點的子子節點。 ' ASP.NET'和用戶在文本框* asp.net *中輸入一個值。在這裏,我需要匹配案件。我的xpath表達式會改變書的標題:''book [title ='「+ txtBookTitle.text +'''」''你可以點亮一下如何做到這一點? – 2012-07-18 06:11:43

+0

函數fn:匹配元素數據,所以我希望'/ book [fn:matches(title,'。* asp.net。*')]'適合你('asp.net'當然是你的查詢字符串)。想想看,'fn:contains'也可以工作,儘管我不確定是否區分大小寫...... – 2012-07-18 08:00:52

0

嘗試lower-case or upper-case字符串函數。這不是完全一樣不區分大小寫,但希望這將是非常接近:

//YourNode[lower-case(@title)='anders rostgaard bystru'] 

看到this post其他的解決方案。