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

c# – Linq to XML将元素添加到特定子树,第1张

概述我的 XML: <Bank> <Customer id="0"> <Accounts> <Account id="0" /> <Account id="1" /> </Accounts> </Customer> <Customer id="1"> <Accounts> <Account id="0" /> 我的 XML:
<Bank> <Customer ID="0">  <Accounts>   <Account ID="0" />   <Account ID="1" />                        </Accounts> </Customer> <Customer ID="1">  <Accounts>   <Account ID="0" />                       </Accounts> </Customer> <Customer ID="2">  <Accounts>   <Account ID="0" />                      </Accounts> </Customer></Bank>

我想添加新的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","variable")                         )                  );
总结

以上是内存溢出为你收集整理的c# – Linq to XML将元素添加到特定子树全部内容,希望文章能够帮你解决c# – Linq to XML将元素添加到特定子树所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1241692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存