Csharp/C#教程:Linq to XML将元素添加到特定子树分享


Linq to XML将元素添加到特定子树

我的XML:

                  

我想添加新的Account元素,让我们说ID为2的客户。我知道如何添加行,我不知道如何指定客户(我在哪里写客户的ID?)

我的LINQ to XML代码:

 XDocument document = XDocument.Load("database.xml"); document.Element("Bank").Element("Customer").Element("Accounts").Add ( new XElement ( "Account", new XAttribute("id", "variable") ) ); document.Save("database.xml"); 

谢谢您的帮助。 XML不是我的好朋友:(

您几乎就在那里,您的代码将默认添加元素给第一个Customer 。 您需要在值为2的Customers集合中搜索属性id

 document.Element("Bank").Elements("Customer") .First(c => (int)c.Attribute("id") == 2).Element("Accounts").Add ( new XElement ( "Account", new XAttribute("id", "variable") ) ); 

我知道如何添加行我不知道如何指定客户(我在哪里写客户的ID?)

您需要先找到具有正确ID的Customer元素。 例如:

 var customer = document.Root .Elements("Customer") .Single(x => (int) x.Attribute("id") == id); customer.Element("Accounts").Add(new XElement("Account", new XAttribute("id", "variable"))); 

请注意,如果没有一个具有正确ID的Customer元素,则Single调用将失败。 如果你想创建一个客户,你需要做更多的工作 – 但是大概可能会在不同的电话中。

上述就是C#学习教程:Linq to XML将元素添加到特定子树分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var cust = xDoc.Descendants("Customer") .First(c => c.Attribute("id").Value == "2"); cust.Element("Accounts").Add(new XElement("Account", new XAttribute("id","3") )); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1043099.html

(0)
上一篇 2022年1月31日
下一篇 2022年1月31日

精彩推荐