VBについてはごめんなさい。テストXMLを作成するコードは同じではありませんが、Cの後にAを移動するコードは近いはずです。
Dim xe As XElement
' to load from a file - similar to C#
' Dim yourpath As String = "your path here"
'xe = XElement.Load(yourpath)
' for testing
xe = <A>
<B>
<xxx></xxx>
<zzz></zzz>
b stuff
</B>
<C>
<nnn></nnn>
<mmm></mmm>
c stuff
</C>
</A>
'this should be close to what the C# will look like
Dim holdB As XElement = New XElement(xe.<B>.FirstOrDefault) 'create copy of the B element
xe.<B>.Remove() 'remove B
xe.<C>.FirstOrDefault.AddAfterSelf(holdB) 'add after C
' to save file - similar to C#
' xe.Save(yourpath)
編集:変換部
XElement xe = default(XElement);
// to load from a file - similar to C#
string yourpath = "your path here";
xe = XElement.Load(yourpath);
XElement holdB = new XElement(xe.FirstOrDefault);
//create copy of the B element
xe.Remove();
//remove B
xe.FirstOrDefault.AddAfterSelf(holdB);
//add after C
// to save file - similar to C#
xe.Save(yourpath);
//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================
可能([いるXmlNodeList C#でノードをスワップ]重複https://stackoverflow.com/questions/16716799/swapping-nodes-in-xmlnodelist-c-sharp ) – FortyTwo
@FortyTwoは私のxmlファイルのように、すべてのタグは異なっていて、無関係です(A - ルート要素、(B、C)) - その子とBCは独自の子要素を持っています。私のxmlでは、コードは "A"を最初に見つけてそれだけで動く必要があります – ghatwala
論理は同じです。* XmlNode *を見つけて、正しい* XmlElement *の後ろに挿入してください。 – FortyTwo