1
我使用.NET 4.0使用XSLT小寫功能
我怎麼可以重寫下面的XPath,爲有效
//Menu[fn:lower-case(./Link) = 'xyxysyx']
我收到此錯誤:
Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
我不知道如何解決這個問題XmlNamespaceManager我需要添加哪個命名空間...
,如果我做這樣的工作原理:
//Menu[./Link = 'xyxysyx']
,但我需要的是小寫比較。
這裏是哪裏,這是結合上下文:
IEnumerable<System.Xml.Linq.XElement> menus = xml.Root.XPathSelectElements(xpath, namespaceManager);
注意,我們可以通過XPathSelectElements塞康參數,它是XmlNamespaceManager的
編輯 與翻譯功能在這裏工作例如:
//Menu[translate(./Link, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'yz']
你嘗試這樣'//Menu[lower-case(./Link)= 'xyxysyx']'。同樣在你的代碼中,結束方括號缺失 – Jayy
可悲的是,你不能感謝微軟沒有真正推進對XSLT的支持。請參閱http://stackoverflow.com/questions/4125130/namespaces-for-xslt-using-net的替代方案(這也是我投票結束的原因)。 – dash
我忘了寫在這裏,但它存在,現在我將編輯帖子 –