C# 嵌套循环

例子说明

        循环遍历xml文件中的信息包括:节点名称(一个),节点的串联值(一个),节点的属性(多个)

Xml文件



	
		Lenovo
		5000
	
	
		IBM
		10000
	

C#嵌套循环代码

       private static void optimizeGetXMLInformation1(string xmlFilePath)
        {
            try
            {
                //初始话一个XMl实例
                XmlDocument myXmlDoc = new XmlDocument();
                //加载XMl文件(xmlFilePath:为XMl的路径)
                myXmlDoc.Load(xmlFilePath);
                //获取节点中的第一个子节点
                var rootNodeChild = myXmlDoc.FirstChild;
                if(rootNodeChild != null){ 
                    GetNodeInformation(rootNodeChild);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
        private static void GetNodeInformation(XmlNode xmlNode) 
        {
            while (xmlNode != null)
            {
                //输出节点名称及串联值
                Console.WriteLine($"节点:{xmlNode.Name} = {xmlNode.InnerText}");
                //获得该节点的属性集合
                XmlAttributeCollection xmlNodeattributeCol = xmlNode.Attributes;
                if (xmlNodeattributeCol != null)
                {
                    foreach (XmlAttribute attri in xmlNodeattributeCol)
                    {
                        //输出节点包含的属性名称与属性值
                        Console.WriteLine($"属性:{attri.Name} = {attri.Value}");
                    }
                }
                //获取该节点的第一个子节点
                var xmlNodeChild = xmlNode.FirstChild;
                //判断节点的子节点是否存在,第一个子节点都不存在的话,那说明该节点没有子节点
                if (xmlNodeChild != null)
                {
                    //子节点存在就集训循环输出该节点的信息
                    GetNodeInformation(xmlNodeChild);
                }
                //节点循环到下一个节点
                xmlNode = xmlNode.NextSibling;
            }
        }

流程图

C# 嵌套循环_第1张图片

你可能感兴趣的:(C#,c#,前端)