我知道這是一個奇怪的問題!如何使用XPath僞造不存在的XML節點?
該要求是由於現有代碼期望XPath查詢的結果爲單個節點。不幸的是,由於我們控制之外的因素,我們無法對代碼進行更改(除非沒有解決方法,這可能意味着我們將不得不推遲發佈)。
以我的情況下,目前的XPath返回一個整數值(計數):
count(/someNode/node)
代碼使用XPathNavigator.SelectSingleNode()
方法,其中,當然,失敗,因爲結果不是節點。
相反,我需要XPath返回一個節點,雖然是假的。可能嗎?請注意,因爲使用了.NET,所以XPath必須是1.0(不是2.0)。
P.S.而且,是的,我們將着眼於重構ASAP問題!
我想必須有一些其他的要求,我錯過了。如果您只需要XPath返回節點,則可以將XPath更改爲「/」。你真的需要你的XPath來返回一個節點*,它的文本內容等於'count(/ someNode/node)'*的值嗎? – LarsH
順便說一句問題的有用性。我經常希望能夠在XPath中構建一個節點。當然,如果你能做到這一點,所有的花裏胡哨的事情,你會接近複製XSLT。 :-) – LarsH