2016-08-24 11 views
0

XMlファイルの一部のノードのodrerを変更したいと思います。誰かがそれをどのように実装できるか教えてください。Xmlファイル内のノードの順序を変更する

私のXMLは次のようになります。

<magicdraw> 
<diagram> 
<fragment> 
<message id="AA22"/> 
<message id="AF32"/> 
<message id="CD52"/> 
<combinedfragment id="LL43"/> 
</fragment> 
</diagram> 
</magicdraw> 

私はそれを変更したい:あなたは単に、リストボックスの項目を反復処理し、対応する「ノード」の要素を特定し、それをAPPENDCHILDでき

<magicdraw> 
<diagram> 
<fragment> 
<message id="AA22"/> 
<combinedfragment id="LL43"/> 
<message id="AF32"/> 
<message id="CD52"/> 
</fragment> 
</diagram> 
</magicdraw> 
+0

サンプルを1つしか提示しないと、あなたの後ろに何があるのか​​を知るのは少し難しいです。私。 'id'の値は固定されていると仮定することが許されていますか?そして、これらの4つの要素だけが存在するでしょうか?そうでない場合は、受け取る入力のタイプとその変換が何であるか、より多くのサンプルや説明が役に立つでしょう。例えば。要素「AA22」の下にある要素「LL43」または要素「LL43」の下にあるidsの要素「AF32」と要素「CD52」を移動します。 –

答えて

0

そうすれば、すでにどこかに挿入されたノードでAppendChildを実行すると適切な順序になるはずです。

XmlDocument nodeDoc = new XmlDocument(); 
linksDoc.Load(Server.MapPath("App_Data/Node.xml")); 


foreach (ListItem li in lb1.Items) 
{ 
    string itemId = li.Value; 

    XmlNode node = doc.SelectSingleNode(string.Format("/root/node[@id = '{0}']", itemId)); 
    if (node != null) 
    { 
    node.ParentNode.AppendChild(node); 
    } 
} 
関連する問題