2016-09-28 102 views
-1

我創建了一個treeview xml程序,允許您管理樹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

像所有的列表對象集合,你需要從過去的項目中刪除,以第一所以索引不會搞的一團糟。我使用了XML Liinq下面

​​
+0

謝謝,但我需要一個功能及在我的應用我使用的唯一XmlDocuments庫 –

+0

LINQ的XML是網絡庫的一部分,而不是一個第三部分的應用程序。通過元素枚舉比舊的xmlDocument庫更有效。 – jdweng

相關問題