我想檢索具有包含給定字符串的一個或多個屬性的所有RULE節點。一旦我找到他們,我需要用一個新的替換字符串。 我測試的XPath查詢,但他們不工作:檢索屬性包含給定字符串的所有節點
string xpathquery = "/FIREWALL/ETH/RULE[contains(@*,'" + toTest + "')]"; //DOES NOT WORK
string xpathquery = "/FIREWALL/ETH/RULE[contains(attribute::*,'" + toTest +"')]"; //DOES NOT WORK
奇怪的是,如果我使用@attributename或屬性:: ATTRIBUTENAME它的實際工作。錯誤在哪裏?
我現在用的是函數,因爲可能有兩種不同的情況,比方說,我想和$ HOST2更換$ HOST1:
<RULE .... host="$HOST1"/> //NO PROBLEM
<RULE .... host="$HOST1:21"/> //I NEED TO REPLACE ONLY $HOST1, NOT THE ENTIRE STRING
我不能只設置XmlNode的,但我的價值屬性需要修改字符串。其實我不知道XPath是否可以通過查找和替換或類似的方式來處理這個問題。
你絕對* *要使用XPath這個?就我個人而言,我會直接使用LINQ到XML,但顯然這是你的電話... – 2011-01-10 14:37:25
那麼,如果有一個更簡單的LINQ解決方案...請記住,我從來沒有用過它,但我可以學習:)爲了我可以有看起來它看起來像一個類似於SQL的查詢語言,對嗎? – raz3r 2011-01-10 14:41:08