我有一個xml文檔,有這樣的記錄集。linq更新問題
<document>
<row>
<Pub_Code>OHB-A0011</Pub_Code>
<Sec>16</Sec>
<Pags>20</Pags>
<Copies>1,000</Copies>
<Binding>Saddle Stitch</Binding>
<Tab>No tabs</Tab>
<Qty>0</Qty>
<Cover>Self Cover</Cover>
<Tpgs>0</Tpgs>
</row>
</document>
我有一個LINQ查詢wrtten這樣:
string xml_path = @"D:\Server-Apps\BooksData.xml";
XElement root = XElement.Load(xml_path);
var selected = from myBooks in root.Elements("row") where myBooks.Element("Pub_Code").Value == "OHB-A0011" select myBooks;
foreach (var d in selected)
{
Console.WriteLine("Pub_Code: {0}", d.Element("Pub_Code").Value);
Console.WriteLine("Cover: {0}", d.Element("Cover").Value);
d.SetElementValue("Tpgs", "test");
}
我可以閱讀的價值發現,但是當我使用d.SetElementValue( 「TPGS」, 「測試」);沒有更新。 該標籤已經在xml文件中。
當你說「沒有更新」時,你是說它沒有更新迴文件中,或者它甚至沒有在內存中更新? –
您的數據有 Tpgs而不是,示例中的輸入錯誤或文件中的數據不正確?我假設一個錯字,更正了示例數據。如果不正確,則需要更改。 –