Как обновить XML-файл, используя Linq для XML? - PullRequest
2 голосов
/ 19 декабря 2011

XML-файл

<?xml version="1.0" encoding="utf-8"?>
<Section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Information Section">
  <ID></ID>
  <alternateID />
  <familyName></familyName>
  <givenName></givenName>
  <birthDate></birthDate>
  <age></age>
  <height />
  <weight />
  <sex></sex>
  <Address>
    <street1 />
    <street2 />
    <city />
    <state />
    <zipCode />
    <country />
  </Address>
</Section>

У меня есть этот пустой шаблон xml. Мне интересно, как обновить / вставить значение в элементы этого XML с помощью LInq?

Это то, что я пытаюсь ... нужно направление ...

 var Doc = XDocument.Load("Info.xml");
    var items = from i in Doc.Descendants("Section")
                select new
                {
                  ID = p.Element("ID").Value
                }
    foreach (var item in items)
          item.id = "VALUE"
??????

1 Ответ

3 голосов
/ 19 декабря 2011

В настоящее время вы создаете список объектов анонимного типа с

 from i in Doc.Descendants("Section")
 select new { ... }

Вместо этого создайте список элементов для обновления:

var items = from i in Doc.Descendants("Section")
     select i;

foreach (var item in items)
{
   item.Element("ID").Value = "VALUE";
   item.Element("Foo").Value = "Foo";
}
Doc.Save(...);

Обратите внимание, что в XML учитывается регистр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...