dodaj dane do istniejącego pliku xml za pomocą linq

Jestem początkującym użytkownikiem .net. Muszę dodać trochę danych do pliku xml

plik xml to:

<stock>    --- 1st level  /* i dont want to create this because this exists */ 
  <items>  --  2nd level
    <productname>Toothpaste</productname>
    <brandname>Colgate</brandname>
    <quantity>12</quantity>
    <price>10</price>
  </items>
  <items>
    <productname>Toothpaste</productname>
    <brandname>Pepsodent</brandname>
    <quantity>20</quantity>
    <price>12</price>
  </items>
</stock>

Muszę dodać

productname --> Toothpaste
brandname   --> CloseUp
quantity    --> 16
price       --> 15

do odpowiednich tagów. Problem, przed którym teraz stoję, polega na tym, że muszę przejść dwa poziomy głęboko, aby pisać do odpowiednich tagów, których nie wiem, jak to zrobić.

Wypróbowałem poniższy kod: (nie działa)

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"))));

Musi być jakiś inny sposób na osiągnięcie tego, czego nie wiem.
Odpowiedzi niezwiązane z linq są również mile widziane. ale bardziej preferuję linq, ponieważ zaimplementowałem pełny linq w moim projekcie.

Proszę pomóż
Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion