Как вставить узел XML с помощью linq2xml? - PullRequest
0 голосов
/ 21 апреля 2011

Я знаю, как читать, но не могу найти, как редактировать, также я хочу спросить, как вставить?

мой XML-файл выглядит так:

<?xml version="1.0"?>
<dataWorkers>
    <worker name="1" workshop="2" salary="25000"/>
    <worker name="3" workshop="4" salary="25000"/>
</dataWorkers>

спасибовы.

Ответы [ 3 ]

2 голосов
/ 21 апреля 2011

Первая загрузка XML-документа

XElement el = XElement.Load(@"yourfile.xml");

Затем используйте SetElementValue , добавьте записи и, наконец, сохраните их

elem.SetElementValue("2","5", "150000");
el.Save("yourfile.xml");

SetElementValue создаст элемент, если его нет, иначе обновит существующий элемент

1 голос
/ 21 апреля 2011
XElement dataWorkers=  new XElement("worker", 
                                    new XAttribute("name", 1),

                                    new XAttribute("workshop", 2),

                                    new XAttribute("salary",25000)

//another way to add a worker to dataWorkers
XElement worker = new XElement("worker");
            XAttribute name = new XAttribute("name",1);
            XAttribute workshop = new XAttribute("workshop",4);
            XAttribute salary = new XAttribute("salary",25000);
            worker.Add(name);
            worker.Add(workshop);
            worker.Add(salary);
dataWorkers.Add(worker);

XDocument myXml= new XDocument( new XDeclaration("1.0", "UTF-8", "true"),
                                new XElement(dataWorkers));      

Для лучшего понимания проверьте LINQ to XML - обзор за 5 минут и Понимание C #: простые примеры LINQ to XML (учебное пособие)

1 голос
/ 21 апреля 2011

Вставка:

XElement.Add (new XElement("el"));

Редактировать:

var el = xDocument.Root.Elements("worker").First();
el.Attribute ("name").SetValue ("name1");
xDocument.Save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...