2012-03-03 56 views
0

我有以下XPath表達式:XPath表達式 - 轉換爲小寫

"//*[@name='outputFormat']/ows:Value" 

我想使它不區分大小寫,如在某些XML文件O​​UTPUTFORMAT也可能是OUTPUTFORMAT等。我知道在translate功能XPath 1.0,並希望將其應用於此表達式。我的簡單問題是:如何?我試着用這個:

"//*[@Translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='outputformat']/ows:Value" 

但是這會拋出一個錯誤。 任何幫助(包括提示什麼是處理XPath中的這種問題的最佳方式),將不勝感激。

+0

拋出什麼錯誤? – BoltClock 2012-03-03 20:24:42

+0

我從VB.NET使用XPath,錯誤是'元素'// *翻譯...「有錯誤/不正確的標記」(由我自己翻譯,原文可能有點不同)。 – 2012-03-03 20:30:44

回答

3

您的@應該附加到name,因爲它是您匹配的屬性,而translate()是一個函數。試試這個:

"//*[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'outputFormat']/ows:Value" 
+0

就是這樣。很棒。謝謝! – 2012-03-03 20:41:55

+0

保存我的一天,謝謝! – 2015-09-16 15:50:26