我想交換兩個xml元素。我該怎麼做呢?這是代碼。我試過解決方案here,但它畢竟不適用於我。我想交換這兩個元素。當我運行的元素是不能交換的程序,但是當我打電話ToList()是交換的名單,但在DOC變量如何將linq中的兩個XML元素交換爲xml
<template id="12">
<tabs>
<tab>
<name>test1</name>
<description />
</tab>
<tab>
<name>test2</name>
<description />
</tab>
</tabs>
</template>
這裏不換是來交換他們
var doc = XDocument.Parse(q.XMLtext);
var Current = doc.ElementOrDefault("template").ElementOrDefault("tabs").ElementsOrDefault("tab").Where(x => (string)x.Element("name") == name).FirstOrDefault();
var Previous = Current.PreviousNode as XElement;
var Next = Current.NextNode as XElement;
var CurrentName = (string)Current.ElementOrDefault("name");
var PreviousName = (string)Previous.ElementOrDefault("name");
var NextName = (string)Next.ElementOrDefault("name");
if (MoveDirection == (int)MoveType.Up)
{
doc.ElementOrDefault("template").ElementOrDefault("tabs").ElementsOrDefault("tab").Where(x => (string)x.Element("name") == CurrentName || (string)x.Element("name") == PreviousName).Reverse();
}
else
//doc.ElementOrDefault("template").ElementOrDefault("tabs").ElementsOrDefault("tab").Where(x => x == Current || x == Next).Take(2).Reverse();
q.XMLtext = doc.ToString();
context.SaveChanges();
代碼
正是我需要..謝謝 – Luke101 2010-09-19 01:55:20