这让我整天发疯。我有一个 xdocument,只是想更改一个值。
xml 看起来如下
<session>
<immediate>
<pivot name="test">
<axes>
<axis position="SLICERS">
<attribute name="Book">
<selection value="Book_Name" type="Book" />
</attribute>
<attribute name="Result Namespace">
<selection value="blah blah" />
</attribute>
<attribute name="Date">
<selection value="2012-05-16" />
</attribute>
<attribute name="Measure">
<selection value="123" />
</attribute>
</axis>
<axis position="SIDE">
<attribute name="ttx" mode="ALL"></attribute>
</axis>
<axis position="TOP">
<attribute name="hhy" mode="ALL"></attribute>
</axis>
</axes>
<source name="risk" />
<aggregate expression="SUM(Money Value)" />
<grid-processor name="errors" />
</pivot>
</immediate>
</session>
我想做的只是改变
<attribute name="Book">
<selection value="Book_Name" type="Book" />
</attribute>
至
<attribute name="Book">
<selection value="CorrectBookName" type="Book" />
</attribute>
我想使用 LINQ 并尝试过 XElement - 我可以获取块但无法更新
XElement amend = xdoc.Descendants("attribute").First(el => (String)el.Attribute("selection") == "value");
有人有想法么?