zoukankan      html  css  js  c++  java
  • XmlReader 使用

    <Root>
      <Phone Name="Oppo手机">
        <BackGround Description="颜色">白色 黑色 玫瑰色 金色</BackGround>
        <Price Description="价格">2000</Price>
      </Phone>
      <Phone Name="Vivo手机">
        <BackGround Description="颜色">白色 黑色 </BackGround>
        <Price Description="价格">1500</Price>
      </Phone>
      <Phone Name="小米手机">
        <BackGround Description="颜色">白色 黑色 </BackGround>
        <Price Description="价格">1800</Price>
      </Phone>
      <Phone Name="锤子手机">
        <BackGround Description="颜色">银色 黑色 酒红 金色 </BackGround>
        <Price Description="价格">2200</Price>
      </Phone>
    </Root>
      public void ReaderXml()
            {
                try
                {
                    //声明StringReader传入Xml文本,作为XmlReader.Create的参数
                    using (StreamReader strReader = new StreamReader(xmlPath))
                    {
                        //通过XmlReader.Create静态方法创建XmlReader实例
                        using (XmlReader item = XmlReader.Create(strReader))
                        {
                            //循环Read方法直到文档结束
                            while (item.Read())
                            {
    
                                //如果不是xml元素则跳过
                                if (item.NodeType != XmlNodeType.Element) continue;
    
                                //通过item.Name得到节点名
                                string elementName = item.Name;
                                if (elementName == "Root") continue;
    
                                if (elementName == "Phone")
                                {
                                    var name = item.GetAttribute("Name");
                                    Console.WriteLine($"一级节点的属性:{name}");
    
                                    if (item.Read())
                                    {
                                        Console.WriteLine($"一级节点的值:{item.Value}");
                                    }
                                }
                                else if (elementName == "BackGround")
                                {
                                    var name = item.GetAttribute("Description");
                                    Console.WriteLine($"二级节点手机的属性:{name}");
                                    if (item.Read())
                                    {
                                        Console.WriteLine($"二级节点手机的值:{item.Value}");
                                    }
                                }
                                else if (elementName == "Price")
                                {
                                    var name = item.GetAttribute("Description");
                                    Console.WriteLine($"二级节点的属性:{name}");
                                    if (item.Read())
                                    {
                                        Console.WriteLine($"二级节点的值:{item.Value}");
                                    }
                                }
    
                            }
                        }
                    }
    
    
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }
  • 相关阅读:
    NYOJ 260
    NYOJ 271
    [转载]《博客园精华集》Winform筛选结果(共105篇)
    在DataGridView控件中加入ComboBox下拉列表框的实现
    给SQL补充一个查看表结构的存储过程
    编写自定义控件之下拉式属性
    PropertyGrid中的枚举显示为中文(转)
    DataGridView 中合并单元格
    树TreeView控件与DataTable交互添加节点(最高效的方法)
    通过键盘方向键控制TreeView节点的移动
  • 原文地址:https://www.cnblogs.com/xiaoyaodijun/p/9115388.html
Copyright © 2011-2022 走看看