如何使用linq2xml插入xml节点

本文关键字:xml 节点 插入 linq2xml 何使用 | 更新日期: 2023-09-27 17:50:39

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

我的xml文件看起来像:

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

谢谢。

如何使用linq2xml插入xml节点

首先加载xml文档

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

然后使用SetElementValue并添加记录,最后将其保存为

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

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

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示例(教程(

插入:

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

编辑:

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