使用linq将数据添加到现有xml文件
我是.net初学者。 我需要向xml文件添加一些数据
xml文件是:
--- 1st level /* i dont want to create this because this exists */ -- 2nd level Toothpaste Colgate 12 10 Toothpaste Pepsodent 20 12
我需要补充一下
productname --> Toothpaste brandname --> CloseUp quantity --> 16 price --> 15
到各自的标签。 我现在面临的问题是我需要深入两个级别才能写入各自的标签,我不知道该怎么做。
我尝试了下面的代码:( 不工作 )
XDocument doc = new XDocument( new XElement("stock", /* how to go inside existing "stock"? */ new XElement("items", new XElement("productname", "Toothpaste"), new XElement("brandname", "CloseUp"), new XElement("quantity","16"), new XElement("price","15"))));
必须有其他方法来实现这一点,我不知道。
与linq无关的答案也是受欢迎的。 但更喜欢linq,因为我在我的项目中实现了完整的linq。
请帮忙
提前致谢。
假设你有原始文件:
var doc = XDocument.Load(...);
然后创建一个新元素(而不是文档)
//XDocument doc = new XDocument( // new XElement("stock", /* how to go inside existing "stock"? */ var newElement = new XElement("items", new XElement("productname", "Toothpaste"), new XElement("brandname", "CloseUp"), new XElement("quantity","16"), new XElement("price","15"));
然后插入它:
doc.Element("stock").Add(newElement); doc.Save(....);