Учитывая следующий XML «шаблон»:Каков наиболее эффективный способ поиска и установки значений элементов в XDocument?
<Request module="CRM" call="list_service_features" id="{ID}">
<block name="auth">
<a name="username" format="text">{USERNAME}</a>
<a name="password" format="password">{PASSWORD}</a>
<a name="client-id" format="counting">{CLIENT-ID}</a>
</block>
<a name="service-id" format="counting">{SERVICE-ID}</a>
</Request>
Использования XDocument, что это лучший способ, чтобы установить значение в фигурных скобках. Я до сих пор, но застрял на наилучшем пути, чтобы выбрать каждый из трех узлов <a />
внутри элемента <block/>
. Это всего лишь небольшой фрагмент XML, другие могут иметь до 20 <a name="..."></a>
элементов.
путь строится XML был не мое творения, это то, что мы должны послать к нашему поставщику «веб-сервису» ... прежде, чем кто-либо имеет смех в формате = «подсчет» атрибут :)
@David - приветствия для ответа, оценки. Я был своего рода в надежде, что это будет немного более элегантным, своего рода вдоль линий:
List<XElement> e = doc.Descendants("a").ToList();
e.Where(x => x.Attributes("name") == "username").Single().Value = "abc";
e.Where(x => x.Attributes("name") == "password").Single().Value = "abc";
Очевидно, что приведенный выше код не работает, но я думал, что будет элегантный один вкладыш для каждого из <a>
тегов
Да, это то, что я ищу. Я пришел к чему-то подобному, но более неуклюжим: e.Attributes («name»). Где (a => a.Value == "username"). Single(). Parent.Value = "abcdef"; Очень признателен! – Kev 2008-11-18 20:22:56