zoukankan      html  css  js  c++  java
  • xml学习三

      创建一个xml。如下:

    <?xml version="1.0" encoding="gb2312" ?>
    <xuzhou>
     <Order>
      <CustomerName>徐周</CustomerName>
      <OrderNumber>BJ2008888</OrderNumber>
      <Items>
        <OrderItem Name="电脑" Count="30"/>
        <OrderItem Name="电视" Count="2"/>
        <OrderItem Name="水杯" Count="20"/>
      </Items>
     </Order>
     <Order>
      <CustomerName>徐周</CustomerName>
      <OrderNumber>BJ2008888</OrderNumber>
      <Items>
        <OrderItem Name="电脑" Count="30"/>
        <OrderItem Name="电视" Count="2"/>
        <OrderItem Name="水杯" Count="20"/>
      </Items>
     </Order>
     <Order>
      <CustomerName>徐周</CustomerName>
      <OrderNumber>BJ2008888</OrderNumber>
      <Items>
        <OrderItem Name="电脑" Count="30"/>
        <OrderItem Name="电视" Count="2"/>
        <OrderItem Name="水杯" Count="20"/>
      </Items>
     </Order>
    </xuzhou>

      写一个递归方法去循环 xml得到所有节点值

         XDocument xdoc = XDocument.Load(@"F:\test\Solution3\WebApplication1\XMLFile1.xml"); //找到xml
                XElement xeRoot = xdoc.Root; //找到xml根节点
    
    
              string ss= DiGui(xeRoot); //递归方法
    
              Response.Write(ss);
    
            }
            
            static string  DiGui(XElement xe)   //写一个递归方法
            {
               
                StringBuilder sb = new StringBuilder();
                foreach (XElement xeItem in xe.Elements())//循环所有根节点下的所有节点!
                {
                    foreach (var item in xeItem.Descendants("CustomerName"))//
                    {
                        sb.Append(item.Value);
                        sb.Append(",");
                    }
                    foreach (var item in xeItem.Descendants("OrderNumber"))
                    {
                        sb.Append(item.Value);
                        sb.Append("<br/>");
                    }
                    
                    foreach (var item in xeItem.Descendants("OrderItem"))
                    {
                       
    
                        sb.Append(item.Attribute("Name").Value);
                        sb.Append(",");
                        sb.Append(item.Attribute("Count").Value);
                        sb.Append("<br/>");
                    }
    
                   
                    
                    DiGui(xeItem);
                }
                string ss = sb.ToString();
    
                return ss;
                 
            }

    这样就可以得到我们想要的所有节点的值了,而且很简单!

  • 相关阅读:
    OpenLayer学习之图文标注
    HTML5制作时钟(canvas)
    ADO,NET中简单三层SQLHelper封装介绍
    OpenLayer学习之加载天地图
    ArcGIS Server manger管理页面无法打开问题解决
    Java EE (14) -- SSH配置
    R语言实战读书笔记(一)R语言介绍
    Machine Learning for hackers读书笔记_一句很重要的话
    Machine Learning for hackers读书笔记(十二)模型比较
    Machine Learning for hackers读书笔记(十)KNN:推荐系统
  • 原文地址:https://www.cnblogs.com/xu3593/p/3108172.html
Copyright © 2011-2022 走看看