0
点赞
收藏
分享

微信扫一扫

C# 嵌套循环

IT影子 2023-09-15 阅读 15
c#前端

例子说明

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

Xml文件

<?xml version="1.0" encoding="utf-8" ?>
<Computers>
	<Computer ID="11111111" Description="Made in China">
		<name>Lenovo</name>
		<price>5000</price>
	</Computer>
	<Computer ID="2222222" Description="Made in USA">
		<name>IBM</name>
		<price>10000</price>
	</Computer>
</Computers>

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#编程练习(关于循环嵌套)

C语言循环嵌套练习

for循环嵌套

循环和嵌套循环

循环语句—循环嵌套

C#循环练习

0 条评论