none
如何为XElement 逐级添加子节点? RRS feed

  • 问题

  • <Members>
                                                     <Member1>
                                                         <Member2>
                                                             <Member3>

    ......

                                                             </Member3>
                                                         </Member2>
                                                     </Member1>
                                                 </Members>

    XElement如上所示,层数不定,如何用循环语句,在本级节点上,添加下级节点?


    韩立学
    2011年5月31日 12:55

答案

  • 你好:)

    参考代码如下:

    namespace ConsoleApplicationZhiShu

    {

     

        public class Eratosthenes

        {

     

            static void AddElement(int times,XElement ele)

            {

                if (times > 10)      //总共添加10个节点

                {

                    return;

                }

                else

                {

                    XElement e = new XElement("Member" + times);

                    ele.Add(e);

                    AddElement(times + 1,e);

                }

            }

     

            static void Main(string[] args)

            {

                XDocument doc = XDocument.Load("XMLFile3.xml");

                AddElement(1,doc.Root);

                doc.Save("C:\\try.xml");

                Console.WriteLine("OK");

     

            }

     

        }

     

    }

    【vb代码】

    Namespace ConsoleApplicationZhiShu
    
    
    
    
    	Public Class Eratosthenes
    
    
    
    
    		Private Shared Sub AddElement(times As Integer, ele As XElement)
    
    
    			If times > 10 Then
    				'总共添加10个节点
    
    
    				Return
    			Else
    
    
    
    				Dim e As New XElement("Member" & times)
    
    				ele.Add(e)
    
    
    				AddElement(times + 1, e)
    			End If
    
    		End Sub
    
    
    
    		Private Shared Sub Main(args As String())
    
    
    			Dim doc As XDocument = XDocument.Load("XMLFile3.xml")
    
    			AddElement(1, doc.Root)
    
    			doc.Save("C:\try.xml")
    
    			Console.WriteLine("OK")
    
    
    
    		End Sub
    
    
    
    	End Class
    
    
    
    End Namespace


    如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请QQ我
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处


    • 已标记为答案 大海怪 2011年6月1日 9:01
    2011年6月1日 2:30
    版主