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

Учитывая следующий XML:

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

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

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

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


person Rory Becker    schedule 18.05.2010    source источник


Ответы (2)


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

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

 var attrib3 = someElement.XPathEvaluate("Element1/Element2/@Attribute3") as XAttribute;
 if (attrib3 != null)
     attrib3.Value = "new value";
person AnthonyWJones    schedule 18.05.2010
comment
Сегодня ты мой личный герой :D Отличный материал - person Rory Becker; 18.05.2010

используя System.Xml.XPath

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

person Gregoire    schedule 18.05.2010
comment
Тоже отличный ответ. Жаль, что я не могу активно разделить очки. - person Rory Becker; 18.05.2010