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. 解决配置android开发环境eclipse获取ADT获取不到,一直"Pending"

    在安装完Android SDK后eclipse要获取ADT, 可是由于GFW的存在, eclipse经常无法从http://dl-ssl.google.com/android/eclipse 获取到任 ...

  2. 【解决】国内访问github过慢

    github在国内慢的有点不能忍了,受不了了google了一下有什么方法没,还真找到一些方法. 死马当活马医,操作完之后确实速度上快了一些,但是毕竟国情所限,仍然做不到“秒开”. 主要是参考两篇博客: ...

  3. 【转】linux trap

    在有些情况下,我们不希望自己的shell脚本在运行时刻被中断,比如说我们写得shell脚 本设为某一用户的默认shell,使这一用户进入系统后只能作某一项工作,如数据库备份, 我 们可不希望用户使用c ...

  4. 【Hadoop代码笔记】Hadoop作业提交之TaskTracker获取Task

    一.概要描述 在上上一篇博文和上一篇博文中分别描述了jobTracker和其服务(功能)模块初始化完成后,接收JobClient提交的作业,并进行初始化.本文着重描述,JobTracker如何选择作业 ...

  5. Google Android官方文档进程与线程(Processes and Threads)翻译

    android的多线程在开发中已经有使用过了,想再系统地学习一下,找到了android的官方文档,介绍进程与线程的介绍,试着翻译一下. 原文地址:http://developer.android.co ...

  6. iOS面试知识集锦

    最近在面试iOS应聘者过程中,发现很多面试者基础都比较薄弱,但是项目经验都写的很多,问几个问题基本上就可以了解大概的情况了,今天看到cocoachina上这篇面试题不错,分享给大家~~~ OC的理解与 ...

  7. [POLITICS] S Korea lawmakers vote to impeach leader

    South Korea's Parliament has voted to impeach President Park Geun-hye. The National Assembly motion ...

  8. Winform- TreeView的使用例子

    自动递归生成树,点击树节点的事件在treeView1_AfterSelect里编写,不多说了,直接上代码,备注在这里一下 public partial class Form1 : Form { pub ...

  9. .NET代码编写规范 整理

    .NET代码编写规范 整理 .NET代码编写规范 - [ASP.NET] 2009-02-26 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lensp ...

  10. Swift基本语法及与OC比较之二

    //MARK:-----------------控制流----------------- //MARK: 1.for - in 循环 ,不用声明Value类型 //for value in 1...6 ...