小編給大家分享一下如何對(duì)任意XML進(jìn)行遍歷,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
為加查等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及加查網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、加查網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
對(duì)于任意的XML的遍歷
class test { PRivate static string root; public static void showxml(string path) { XmlDocument xd = new XmlDocument(); xd.Load(path); XmlNodeList xnl = xd.DocumentElement.ChildNodes; root = xd.FirstChild.NextSibling.Name;//記錄根節(jié)點(diǎn) Console.Write(root+"\n"); foreach (XmlNode xn in xnl) { //Console.Write(xn.Attributes["name"].Value.ToString()+"\n"); XmlNode child = xn.FirstChild; NodeOperate(child); } } public static void NodeOperate(XmlNode xn1) { if (xn1.HasChildNodes == true) { Console.Write(xn1.Name + "\n"); Console.Write("\n"); XmlNode childNode = xn1.FirstChild; NodeOperate(childNode); } else { Console.Write(xn1.Name + "\n"); Console.Write(xn1.InnerText); Console.Write("\n"); if (xn1.NextSibling != null) { NodeOperate(xn1.NextSibling); } else { int flag = 0; while (xn1.NextSibling == null) { if (xn1.Name == root)//檢查是否到了根節(jié)點(diǎn),如果不檢查會(huì)出現(xiàn)節(jié)點(diǎn)的引用錯(cuò)誤 { flag = 1; break; } else { xn1 = xn1.ParentNode; } } if (flag == 0) { NodeOperate(xn1.NextSibling); } else if(flag==1) { Console.Write("End"); } } } } } public static void Main() { test.showXML(@"C:\Documents and Settings\SKY\My Documents\Visual Studio 2005\Projects\Project1\Project1\system.xml"); Console.Read(); }
以上是“如何對(duì)任意XML進(jìn)行遍歷”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!