2016-09-28 8 views
-1

ツリーxmlを管理できるtreeview xmlプログラムを作成しました。名前とパスで項目を削除するプログラム機能が必要です。例えば同じパスと名前のノードを削除する

<Main> 
<Set> 
    <MId>1</MId> 
    <RName> 
     <MetaData> 
      <PrdctName> 
       Test 1 
      </PrdctName> 
     </MetaData> 
    </RName> 
</Set> 
<Set/> 
<Set/> 
<Set> 
    <MId>2</MId> 
    <RName> 
     <MetaData> 
      <PrdctName> 
       Test 1 
      </PrdctName> 
     </MetaData> 
    </RName> 
</Set> 
</Main> 

と私は名前でこの同じパスを持つすべてのXMLファイルに「PrdctName」を削除します。誰でも私を助けることができますか?

編集:

void deletebytag(TreeNodeCollection nodes) 
    { 
     List<TreeNode> nodee = new List<TreeNode>(); 

     foreach (TreeNode node in nodes) 
     { 
      if (node.Name == "au_id") 
      { 
       nodee.Add(node); 
      } 
      else 
      { 

       deletebytag(node.Nodes); 

      } 
     } 
     foreach (TreeNode node in nodee) 
     { 
      nodes.Remove(node); 

     } 

    } 

答えて

-1

すべてのリストのコレクションのようにあなたは、インデックスがめちゃくちゃされませんので、最初に最後の項目から削除する必要があるオブジェクト:私はそのような何かが、このdoesntの仕事をしてみてください。私は

​​
+0

感謝の下のxml Liinqを使用し、しかし、私はのfuctionを必要とし、私のアプリケーションでは、私は –

+0

のLINQのXMLは、ネットライブラリの一部ではなく第3部アプリケーションでのみXmlDocumentsライブラリを使用しています。古いxmlDocumentライブラリよりも要素を列挙する方が効率的です。 – jdweng

関連する問題