对于任意的XML的遍历

对于任意的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;//记录根节点                Console.Write(root+"");                foreach (XmlNode xn in xnl)                {                    //Console.Write(xn.Attributes["name"].Value.ToString()+"");                    XmlNode child = xn.FirstChild;                                        NodeOperate(child);                              }            }            public static  void NodeOperate(XmlNode xn1)            {                if (xn1.HasChildNodes == true)                {                    Console.Write(xn1.Name + "");                    Console.Write("");                    XmlNode childNode = xn1.FirstChild;                                        NodeOperate(childNode);                }                else                {                    Console.Write(xn1.Name + "");                    Console.Write(xn1.InnerText);                    Console.Write("");                    if (xn1.NextSibling != null)                    {                                                NodeOperate(xn1.NextSibling);                    }                    else                    {                        int flag = 0;                        while (xn1.NextSibling == null)                        {                                                                                   if (xn1.Name == root)//检查是否到了根节点,如果不检查会出现节点的引用错误                            {                                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 SettingsSKYMy DocumentsVisual Studio 2005ProjectsProject1Project1system.xml");            Console.Read();        }

登录后复制

 以上就是对于任意的xml的遍历的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2419876.html

(0)
上一篇 2025年3月3日 03:08:46
下一篇 2025年2月19日 09:40:27

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论