5
我正在嘗試使用XPath表達式在XMLDocument
上執行SelectSingleNode
。但是,當我正在搜索的屬性值包含多個正斜槓(/)時,它將返回空值。XPath查詢包含正斜槓的屬性(/)
我無法在線找到任何資源來轉義正斜槓。有沒有人知道解決這個問題的方法?或者我有我的語法都匹配屬性值錯了嗎?
示例XML
<?xml version="1.0"?>
<Root>
<Page Path="/brand" />
<Page Path="/brand/armada" />
</Root>
此XPath表達式返回正確的節點(例如:上述樣品中的第一個)
XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']");
此XPath表達式返回null
XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand/armada']");
我在C#,.net 3.5環境中。
編輯:感謝您的答覆。我通過在select表達式中使用雙向正斜槓來解決問題。
XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");
我最小的repro控制檯應用程序給出了xpaths的預期結果 – AakashM 2011-05-05 09:48:27
必須是一個錯誤。或者問題在其他地方。 XMLspy 2011 SP1使用Xpath表達式更正它。 – ceving 2011-05-05 14:18:44
@chris如果您自己找到了答案,您可以在下面發佈答案,並將其標記爲接受的答案,以便其他人可以從中受益。這也意味着這個問題不再出現在SO的「未答覆」部分。謝謝 – BMac 2015-05-11 07:49:32