如何更新特定的XElement?

par*_*oir 9 c# xml

在此XML中更新XElement(更新元素Pen的itemNumber值)的最佳方法是什么?

<?xml version="1.0" encoding="utf-8"?>
<MyStore>
  <Category>
    <itemName>Pen</itemName>
    <itemNumber>12</itemNumber>
  </Category>
  <Category>
    <itemName>Paper</itemName>
    <itemNumber>23</itemNumber>
  </Category>
</MyStore>
Run Code Online (Sandbox Code Playgroud)

Pav*_*aev 13

XDocument doc;
...
XElement penItemValue = doc
     .Elements("MyStore")
     .Elements("Category")
     .Elements("itemName")
     .Single(itemName => itemName.Value == "Pen")
     .Parent
     .Element("itemValue");
penItemValue.Value = "123";
Run Code Online (Sandbox Code Playgroud)