如何使用linq2xml插入xml节点?

时间:2011-04-21 07:12:34

标签: c# .net linq-to-xml

我知道如何阅读,但找不到如何编辑,我也想问如何插入?

我的xml文件看起来像:

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

3 个答案:

答案 0 :(得分:2)

首先加载xml doc

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

然后使用 SetElementValue 并添加记录并最终保存

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

SetElementValue将创建元素(如果不存在),否则将更新现有元素

答案 1 :(得分:1)

插入:

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

编辑:

var el = xDocument.Root.Elements("worker").First();
el.Attribute ("name").SetValue ("name1");
xDocument.Save();

答案 2 :(得分:1)

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 Minute OverviewUnderstanding C#: Simple LINQ to XML examples (tutorial)