2层Xml读取类
配置文件
<?xml>
<root>
<parent name="C">
<child name="C1">Spring</child>
<child name="C2">Summer</child>
</parent>
<parent name="D">
<child name="D1">autome</child>
<child name="D2">winter</child>
</parent>
</root>
调用方法
var XmlLevel2Helper=new XmlLevel2Helper("parent","child");
var value=XmlLevel2Helper.GetNodeValue("D","D2")
public class XmlLevel2Helper
{
private readonly String _parentNodeName = "Controller";
private readonly String _childNodeName = "Action";
public XmlLevel2Helper()
{
}
public XmlLevel2Helper(String parentNodeName, String childNodeName)
{
_parentNodeName = parentNodeName;
_childNodeName = childNodeName;
}
/// <summary>
/// 读取 2层Xml文件Node的值.
/// </summary>
/// <param name="filePath">如~/Config/CustomConfig.xml</param>
/// <param name="pNode">第一层Node名</param>
/// <param name="cNode">第二层Node名</param>
/// <returns></returns>
public string GetNodeValue(String filePath,string pNode, string cNode)
{
XElement rootElement = XElement.Load(HttpContext.Current.Server
.MapPath(filePath));
XElement pElement = FindElementByAttribute(rootElement, _parentNodeName, cNode);
if (pElement != null)
{
XElement cElement = FindElementByAttribute(pElement, _childNodeName, pNode);
if (cElement != null)
{
return cElement.Value;
}
}
return "";
}
/// <summary>
/// 根据Attribute找到相应的子元素
/// </summary>
/// <param name="xElement"></param>
/// <param name="tagName"></param>
/// <param name="attribute"></param>
/// <returns></returns>
private XElement FindElementByAttribute(XElement xElement, string tagName, string attribute)
{
return xElement.Elements(tagName).FirstOrDefault
(x => x.Attribute("name").Value.Equals(attribute, StringComparison.OrdinalIgnoreCase));
}
}
2层Xml读取类的更多相关文章
- 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- XML Helper XML操作类
写的一个XML操作类,包括读取/插入/修改/删除. using System;using System.Data;using System.Configuration;using System.Web ...
- C#基础笔记---浅谈XML读取以及简单的ORM实现
背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...
- C#对XML操作类
C#对XML操作类 该类包含了对XML文件的创建,添加,读取,删除,修改等操作 //#define isUnity #if isUnity using UnityEngine; #endif usin ...
- C#基础---浅谈XML读取以及简单的ORM实现
背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...
- Java常用工具类---XML工具类、数据验证工具类
package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...
- C#:XML操作类
写的一个XML操作类,包括读取/插入/修改/删除. using System; using System.Data; using System.Configuration; using System. ...
- C#操作xml完整类文件
C#操作xml完整类文件 xml_oper.cs using ...System; using System.Data; using System.Web; using System.Xml; /** ...
随机推荐
- js 中常用的方法
1..call() 将.call()点之前的属性或方法,继承给括号中的对象. 2.(function(){xxx})() 解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数, ...
- [转]World Wind Java开发之五——读取本地shp文件
World Wind Java 使用IconLayer图层类表现点和多点数据,使用RenderableLayer图层表现线和面数据,一个图层只能对应一组shape文件.World Wind Java首 ...
- Math类和Random类(数学公式相关类)
Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 常用方法: 1.static 数值类型 abs(数值类型 a) 返回 double 值的绝对值. 2.sta ...
- iBATIS.net获取运行时sql语句
[本文原创,第一次离首页如此之近.发在候选区攒攒rp,管理员看着不合适可以撤下.] 虽然只在iBatis的世界里小打小闹匆匆数月,却历经数次与领导和同事激辩,再通过不懈努力学习和开发积累,楼猪终于被它 ...
- Android Studio Gradle编译项目报错
Gradle project sync failed Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradl ...
- [MetaHook] R_SparkShower
By hzqst void R_SparkShower(float *pos) { TEMPENTITY *tent; tent = efx.CL_TempEntAllocNoModel(pos); ...
- 浩瀚先森(guohao1206.com)
博客搬家啦,新博客地址:浩瀚先森 http://www.guohao1206.com
- Android--下拉框
一. 实现效果图如下 Android 中的下拉框为Spinner 组件,其效果图如上图片 二. 实现代码 布局代码如下 <?xml version="1.0" encodin ...
- GnuDIP制作动态域名服务器(DDNS Server)_转载http://blog.sina.com.cn/s/blog_4d4c23530100rlfj.html
这个阶段在做DDNS,虽然有dyndns和tzo两个免费的国外的DDNS服务器(支持免费用户注册使用),但是公司需求中要有GnuDIP这种服务.于是只能自己制作DDNS服务器,颇费功夫,于是想把这段记 ...
- 字符串string类型转换成DateTime或DateTime?类型
常用的Convert.ToDateTime方法 //将含有正确日期格式的string类型转换成DateTime类型 string strDate = "2014-08-01"; D ...