• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

查了一些,都是根据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";//拼接路径

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#关闭所有线程发布时间:2022-07-10
下一篇:
C#取得页面执行时间的代码发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap