xml遍历


        private static string root;
        private static string ls = "";
        public static void showXML(string path)
        {
            ls = "";
            XmlDocument xd = new XmlDocument();
            xd.Load(path);

            XmlNodeList xnl = xd.DocumentElement.ChildNodes;
            root = xd.FirstChild.Name;//记录根节点

            ls += 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)
            {

                ls += xn1.Name;

                XmlNode childNode = xn1.FirstChild;

                NodeOperate(childNode);

            }
            else
            {
                ls += xn1.InnerText + "/n";

                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)
                    {
                        ls += "/n";


                    }
                }


            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值