Я хочу получить все узлы RULE, которые имеют один или несколько атрибутов, содержащих данную строку.Как только я их нашел, мне нужно заменить строку новой.Я проверил эти XPath-запросы, но они не работают:
string xpathquery = "/FIREWALL/ETH/RULE[contains(@*,'" + toTest + "')]"; //DOES NOT WORK
string xpathquery = "/FIREWALL/ETH/RULE[contains(attribute::*,'" + toTest +"')]"; //DOES NOT WORK
Странно то, что если я использую @attributename или attribute :: attributetename, это на самом деле работает.Где ошибка?
Я использую функцию содержимого, потому что может быть два разных случая, скажем, я хочу заменить $ HOST1 на $ HOST2:
<RULE .... host="$HOST1"/> //NO PROBLEM
<RULE .... host="$HOST1:21"/> //I NEED TO REPLACE ONLY $HOST1, NOT THE ENTIRE STRING
Я не могупросто установите атрибут Value XmlNode, но мне нужно изменить строку.На самом деле я не знаю, сможет ли XPath справиться с этим путем поиска и замены или чего-то подобного.