• C# 根据节点索引访问XML配置文件


    查了一些,都是根据XML属性来访问指定节点,我这想根据节点索引来访问XML

    首先上XML样式

    1 <?xml version="1.0" encoding="utf-8" ?>
    2 <FeatureClasses>
    3     <FeatureClass name = "t_room"></FeatureClass>
    4     <FeatureClass name = "t_floor"></FeatureClass>
    5     <FeatureClass name = "t_in_wall"></FeatureClass>
    6     <FeatureClass name = "t_in_toilet"></FeatureClass>
    7     <FeatureClass name = "t_in_elevator"></FeatureClass>
    8 </FeatureClasses>

    然后上C#访问代码

     1   public string ReadXmlNode(string filename,int i)
     2         {
     3             XmlDocument xmlDoc = new XmlDocument();
     4             string str="";
     5             try
     6             {
     7                 xmlDoc.Load(filename);
     8                 XmlNode root = xmlDoc.SelectSingleNode("//FeatureClass");
     9                 for (int j = 0; j <= i; j++)
    10                 {
    11                     str = root.Attributes["name"].Value;
    12                    root = root.NextSibling;
    13                 }
    14              }
    15             catch (Exception e)
    16             {
    17                 MessageBox.Show("" + e);   //显示错误信息
    18                 return str;
    19             }
    20             return str;
    21         }

    其实就是遍历啦,没找到根据索引访问的方法,只有ChildNodes访问子节点索引。

    然后在你的主程序for循环中调用这个方法

      string openLyer = ReadXmlNode(pathName,i);
    View Code

    再上一些路径写法

    1   string fileName = AppDomain.CurrentDomain.BaseDirectory;//获得当前路径debug
    2   string fileNameplus = System.IO.Path.GetFullPath("..\..\..");//往上返回
    3   string pathName = fileNameplus + "\bin\Config\LayerName.xml";//拼接路径

    写的比较简单详细。有不对地方还请指正。


  • 相关阅读:
    Tips & Tricks:Apache log4j简明教程(二)
    Tips & Tricks:Apache log4j简明教程(一)
    算法导论:字符统计问题
    算法导论:打印回旋数
    ASP.NET AJAX简明教程
    将博客搬至CSDN
    qemu使用copy-on-write(COW)磁盘
    QEMU使用virtio磁盘
    使用HAXM为QEMU for Windows加速
    在WSL中安装和运行Docker CE
  • 原文地址:https://www.cnblogs.com/marvelousone/p/7266680.html
Copyright © 2020-2023  润新知