使用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(....);