.NET Framework遍歷XML文擋樹正確實現(xiàn)方法解析
作者:佚名
我們在這里通過兩段代碼示例分別向大家介紹了兩種.NET Framework遍歷XML文擋樹的實現(xiàn)方法,希望可以幫助大家方便了解。
我們現(xiàn)在可以通過各種渠道去了解一個技術(shù)的特點。比如在對.NET Framework的學(xué)習(xí)過程中,就可以通過個證方式來幫助我們完成學(xué)習(xí)目的。在這里先來了解一下有關(guān).NET Framework遍歷XML文擋樹的幾種實現(xiàn)方法。#t#
另外這個.NET Framework遍歷XML文擋樹的例子不錯,還可以學(xué)到.net的XML DOM的一些操作方法.
- /**//// <summary>
- /// 深度優(yōu)先遍歷文擋樹(遞歸方法)
- /// </summary>
- /// <param name="currentNode">
當(dāng)前節(jié)點</param> - public void DOMDepthFirst
(XmlNode currentNode) - {
- XmlNode node = currentNode.
FirstChild ; - while ( node != null )
- {
- DOMDepthFirst( node ) ;
- nodenode = node.NextSibling ;
- }
- //do something else with
currentNode herer - }
- /**//// <summary>
- /// 廣度優(yōu)先遍歷文擋樹(非遞歸)
- /// </summary>
- /// <param name="root">遍歷的入口點,
如果需要遍歷整個文擋則是XmlDocument對象- </param>
- public void DOMBreadthFirst
(XmlNode root)- {
- Queue queue = new Queue() ;
- queue.Enqueue(root) ;
- XmlNode currentNode = null ;
- try
- {
- while (true)
- {
- //如果queue為空,則拋錯,跳出try section,
這里是while循環(huán)的退出條件- currentNode = (XmlNode)queue.Dequeue() ;
- if (currentNode.HasChildNodes)
- {
- foreach (XmlNode child in currentNode.
ChildNodes)- {
- queue.Enqueue(child) ;
- }
- }
- }
- }
- catch(System.InvalidOperation
Exception ex)- {
- //throw ex ;
- }
- }
.NET Framework遍歷XML文擋樹使用方法:
- XmlDocument doc = new
XmlDocument() ;- doc.Load("test.xml") ;
- DOMDepthFirst(doc) ;
- DOMBreadthFirst(doc) ;
責(zé)任編輯:曹凱
來源:
博客園