XML XElement / Linq заменяет значения данными из словаря - PullRequest
1 голос
/ 04 декабря 2009

Есть ли способ заменить все существующие значения из XML на значения из словаря, используя Linq? Я использую c #.

Пример XML:

<root>
  <node1> <--without attribute
    <subNode1>someTextValue</subNode1>
  </node1>
  <node2 name="myNode2"> <--With attribute (IMPORTANT!!!)
    <subNod1>someOtherTextValue</subNode1>
  </node2>
</root>


Dictionary<string, Hashtable> dataFromXML;

dataFromXML Keys из примера: node1 (because here is note an attribute), myNode2 (because here is an attribute) ...

dataFromXML Values являются подузлами.

Теперь предположим, что мы вносим некоторые изменения значения в некоторый подузел и хотим обновить XML.

Как я мог это сделать вместо того, чтобы зацикливаться на foreach ???

Надеюсь, мой вопрос четко определен.

EDIT

А как насчет XElement и функции ReplaceWith?

Лучшие награды.

1 Ответ

0 голосов
/ 04 декабря 2009

Не думаю, что вы можете обновить XDocument в запросе Linq. В любом случае будет легко разработать оператор foreach (поверьте, вы потеряете меньше времени), и помните, что запросы linq передаются как операторы цикла, поэтому даже если вы видите только одну строку кода, цикл фактически существует ...

Привет

...