我試圖通過元素的屬性在LINQ的XML文件中的元素進行排序:異常XML的排序
public void SortXml()
{
XDocument doc = XDocument.Load(filename);
XDocument datatemp = new XDocument(doc);
doc.Descendants("Thing").Remove();
var module = datatemp.Descendants("Thing").OrderBy(x =>
(int)int.Parse(x.Attribute("ID").Value));
doc.Element("Thing").Add(module);
doc.Save(filename);
}
XML:
<Entry>
<Properties>
<Thungs Count="2">
<Thing ID="1">
<thing1 num="8" />
<thing1 num="16" />
</Thing>
<Thing ID="31">
<thing1 num="8" />
<thing1 num="16" />
</Thing>
</Thungs>
</Properties>
</Entry>
但在該行doc.Element("Thing").Add(module);
我得到一個NullReferenceException
。 有什麼不對?
我想過這個問題,但沒有,結果是一樣的:NullReferenceException異常( – 2012-07-08 10:17:46
@ user1509821你能試着'doc.Element( 「屬性」)元素( 「Thungs」)添加(模塊);'。? – dasblinkenlight 2012-07-08 10:30:07
謝謝你)它的工作如果 'doc.Element(「Entry」)。doc.Element(「Properties」)。Element(「Thungs」).Add(module);' – 2012-07-08 10:42:53