XML结构:

<Setting>
  <BIG>
    <tdHead>
      <td TdName="序号" TdWidth="50px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="公司" TdWidth="60px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="线路" TdWidth="90px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="牌照号" TdWidth="" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="自编号" TdWidth="" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="开始时间" TdWidth="120px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="结束时间" TdWidth="120px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="超速时长(秒)" TdWidth="80px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="超速里程(公里)" TdWidth="80px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="最高速度(km/h)" TdWidth="90px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="平均车速(km/h)" TdWidth="90px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="超速标准(km/h)" TdWidth="70px" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
      <td TdName="超速位置" TdWidth="" TdHeight="" TdTitle="" TdRowspan="" TdColspan=""></td>
    </tdHead>
  </BIG>

</Setting>

/// <summary>
        /// 获取到xml数据集中所需节点数据
        /// </summary>
        /// <param name="Path"></param>
        /// <param name="NodeName"></param>
        /// <returns></returns>
        public List<List<MonitorTableHead>> GetXMLData(string Path,string NodeName)
        {
            List<List<MonitorTableHead>> listLMont = new List<List<MonitorTableHead>>();
            try
            {
                //string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe 的文件名。
                //string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目
                ////录)的完全限定路径。
                ////备注  按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱
                ////动器名称后跟一个尾部反斜杠(如"C:\")。如果该进程在子目录中启动,则此属性的值为不
                ////带尾部反斜杠的驱动器和子目录路径(如"C:\mySubDirectory")。
                //string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。
                //string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决
                //////程序用来探测程序集。
                ////string str5=System.Net.Mime.MediaTypeNames.Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可
                //////执行文件的名称。
                ////string str6=System.Net.Mime.MediaTypeNames.Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可
                //////执行文件的名称。
                //string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含
                ////该应用程序的目录的名称。
                XmlDocument doc = new XmlDocument();
                doc.Load(AppDomain.CurrentDomain.BaseDirectory + Path);
                XmlNodeList nodeList = ((XmlElement)doc.SelectSingleNode("Setting")).SelectSingleNode(NodeName).ChildNodes;
                //遍历所有子节点
                foreach (XmlNode xn in nodeList)
                {
                    List<MonitorTableHead> listMon = new List<MonitorTableHead>();
                    XmlElement xe = (XmlElement)xn; //将子节点类型转换为XmlElement类型
                    if (xe.Name == "tdHead")
                    {
                       
                        //xe.Attributes["id"].Value = "ssss";//修改节点属性的值。
                        //xe.SetAttribute("genre", "update Sky_Kwolf"); //则修改该属性为“update Sky_Kwolf”
                        XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点                      
                        foreach (XmlNode xn1 in nls)//遍历
                        {
                            MonitorTableHead mont = new MonitorTableHead();
                            XmlElement xe2 = (XmlElement)xn1; //转换类型
                            mont.TdName = xe2.Attributes["TdName"].Value;
                            mont.TdWidth = xe2.Attributes["TdWidth"].Value;
                            mont.TdHeight = xe2.Attributes["TdHeight"].Value;
                            mont.TdTitle = xe2.Attributes["TdTitle"].Value;
                            mont.TdRowspan = xe2.Attributes["TdRowspan"].Value;
                            mont.TdColspan = xe2.Attributes["TdColspan"].Value;
                            listMon.Add(mont);
                        }
                    }
                    listLMont.Add(listMon);
                }
            }
            catch (Exception)
            {
                return null;
                //throw;
            }
            return listLMont;
        }

获取XML配置数据的更多相关文章

  1. wemall app商城源码Android 获取XML网络数据并绑定到ListView

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Android 获取XML网络数据并绑定到Li ...

  2. 用LINQ获取XML节点数据

    Insus.NET想对<从字符串中获取XML节点数据> http://www.cnblogs.com/insus/p/3299052.html 这篇改写为使用LINQ的方法实现.LINQ中 ...

  3. 从字符串中获取XML节点数据

    从字符串中获取XML节点数据,前一篇<字符串创建XML文档> http://www.cnblogs.com/insus/p/3298579.html 是储存为一个XML文档.现在,Insu ...

  4. PHP生成和获取XML格式数据

    在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的X ...

  5. bean.xml配置数据源和读取配置文件配置数据源

    一.bean.xml配置数据源 bean.xml装配bean,依赖注入其属性的时候,对应实体类中属性一定要有set方法, 二.读取配置文件配置数据源 1.配置文件 bean.xml配置: classp ...

  6. 使用GridView来获取xml文件数据

    在任何一个系统中,数据的读取和编辑都是至关重要的.无论你是CS还是BS,都需要对数据进行操作.其实 我们可以发现,很多软件和系统最终都是对于数据库中数据的处理.之前在CS的学习过程中我们接触到了很多 ...

  7. 使用PHP生成和获取XML格式数据

    1.php生成xml

  8. spring通过注解依赖注入和获取xml配置混合的方式

    spring的xml配置文件中某个<bean></bean>中的property的用法是什么样的? /spring-beans/src/test/java/org/spring ...

  9. 发送xml报文去第三方请求获取xml报文数据

    import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import j ...

随机推荐

  1. SRM 596 DIV 2

    前段时间终于配置好了TopCoder的环境,所以就拿这场的DIV2练习了一下 1. 250pt FoxAndSightseeing 题意 给你n个城市的位置,他们在同一直线上,要求你跳过其中某一个城市 ...

  2. sqlserver 出现 因为文件组 'PRIMARY' 已满 的解决办法 有可能是磁盘剩余空间不足 导致的

    一般虚拟主机提供商是通过限制数据库文件的大小来实现提供定制的数据库空间的.当你把从虚拟数据库空间备份下来的文件恢复到自己的服务器上时,这个限制还是存在的.找到数据库文件 给增加个数据文件就好了 解决办 ...

  3. hdoj 1859 最小长方形

    最小长方形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. 转载StringBuilder说明

    动态串StringBuilder 利用System.Text.StringBuilder类实现动态字符串,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原来 ...

  5. POJ 3130 How I Mathematician Wonder What You Are! /POJ 3335 Rotating Scoreboard 初涉半平面交

    题意:逆时针给出N个点,求这个多边形是否有核. 思路:半平面交求多边形是否有核.模板题. 定义: 多边形核:多边形的核可以只是一个点,一条直线,但大多数情况下是一个区域(如果是一个区域则必为 ).核内 ...

  6. 【UNIX】select、poll、epoll学习

    三者都是UNIX下多路复用的内核接口,select是跨平台的接口,poll是systemV标准,epoll是linux专有的接口,基于poll改造而成. select 函数原型: int select ...

  7. Process学习

    主要系统总结下我对进程的认识,以前理解得不够全面不够深入.本文肯定还不够好,当有新的认识新的理解后还会随时来更新.读完本文,下面几个问题便可理解清楚. 1.进程是什么? 2.为什么要有进程这个概念? ...

  8. JS 数据类型转换-转换函数、强制类型转换、利用js变量弱类型转换

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型 ...

  9. 从零开始学android开发-sqlitepro安装

  10. android常见错误--INSTALL_FAILED_DEXOPT

    出现上面的问题,是由于手机的内存不足导致的,需要清理一下手机的内存,然后就可以了