Учитывая XElement, как я могу получить ссылку на другой относительный XElement / Xattribute с учетом XPath? - PullRequest
4 голосов
/ 18 мая 2010

С учетом следующего XML:

<SomeXML>
    <Element1>
        <Element2 Attribute3="Value4" />
    </Element1
</SomeXML>

... и ссылка XElement на "SomeElement" и XPath "Element1 / Element2 / @ Attribute3"

Как мне получить ссылку на Attribute3, чтобы я мог изменить его значение (используя Xpath)?

XPath должен быть восстановленным параметром, и, таким образом, это мой единственный способ найти нужный узел.

Ответы [ 2 ]

6 голосов
/ 18 мая 2010

Добавьте using System.Xml.XPath в файл кода, где вам нужно это сделать.

Тогда вы можете использовать такой код: -

 var attrib3 = someElement.XPathEvaluate("Element1/Element2/@Attribute3") as XAttribute;
 if (attrib3 != null)
     attrib3.Value = "new value";
4 голосов
/ 18 мая 2010

с использованием System.Xml.XPath

и метод расширения XPathSelectElement на вашем XElement

...