C#实现嵌套循环的示例代码

 更新时间:2023年09月15日 11:18:10   作者:Z_W_H_  
这篇文章主要为大家详细介绍了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#嵌套循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 动态webservice调用接口并读取解析返回结果

    动态webservice调用接口并读取解析返回结果

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天我们来详细讨论下如何动态调用以及读取解析返回结果
    2015-06-06
  • C#中yield用法使用说明

    C#中yield用法使用说明

    本文介绍了C#中yield的使用方法,yield 语句不能出现在匿名方法,其他相关内容就仔细阅读下文吧
    2015-10-10
  • WPF实现获取摄像头帧图的代码示例

    WPF实现获取摄像头帧图的代码示例

    这篇文章主要介绍了如何利用WPF实现获取摄像头帧图的代码示例,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的可以参考一下
    2024-02-02
  • C#在复杂多线程环境下使用读写锁同步写入文件

    C#在复杂多线程环境下使用读写锁同步写入文件

    这篇文章介绍了C#在复杂多线程环境下使用读写锁同步写入文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • VS2019使用快捷键将代码对齐的方法

    VS2019使用快捷键将代码对齐的方法

    这篇文章主要介绍了VS2019使用快捷键将代码对齐的相关资料,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 基于C#中XmlReader读取Xml的深入分析

    基于C#中XmlReader读取Xml的深入分析

    本篇文章是对C#中XmlReader读取Xml进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#结合JavaScript实现手写板签名效果

    C#结合JavaScript实现手写板签名效果

    这篇文章主要为大家详细介绍了C#如何结合JavaScript实现手写板写字并上传到服务器进行处理,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • C#中LinkedList<T>的存储结构详解

    C#中LinkedList<T>的存储结构详解

    这篇文章主要介绍了深度解析C#中LinkedList<T>的存储结构,本文将从链表的基础特性、C#中LinkedList的底层实现逻辑,.NET的不同版本对于Queue的不同实现方式的原因分析等几个视角进行简单的解读,需要的朋友可以参考下
    2023-12-12
  • c# 如何实现自动更新程序

    c# 如何实现自动更新程序

    这篇文章主要介绍了如何用c# 自动更新程序,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C#枚举类型与结构类型实例解析

    C#枚举类型与结构类型实例解析

    这篇文章主要介绍了C#枚举类型与结构类型实例,需要的朋友可以参考下
    2014-07-07

最新评论