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; /** ...
随机推荐
- isAnimated函数
function isAnimated($obj){ var flag=false; if($obj.is(":animated")){ flag=true; } return f ...
- C# 无边框窗体之窗体移动
点击窗体任意位置移动窗体: 需要添加命名空间: using System.Runtime.InteropServices; private const int WM_NCLBUTTONDOWN = 0 ...
- 跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution { public: int jumpFloor(int number) { ) ; ) ; )+jumpFloor(number-); } }; 如果先建立数组,然后利用 ...
- AE笔记
我想做一个好玩的视频,需要用到AE,写点东西锻炼语言能力,视频教程后续录制到时放链接. 一.合成 拖进项目的视频要新建合成才能加以编辑,新建合成很简单,拖拽你的视频向下到一个类似相片的图标上面就新建成 ...
- 数据库SQL优化大总结之 百万级数据库优化方案(转)
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- 访问 IIS 元数据库失败 的解决方法
系统是windows xp sp3,vs2010.安装了iis 5.1 ,创建了虚拟目录之后copy进去一个web sercices测试下能不能正常工作. 出现如下问题: 访问 IIS 元数据库失败. ...
- Arduino小车学习与研究博客
Arduino小车学习与研究博客 信安系统设计基础实践模块 Arduino小车学习与研究 ================== 陈都(20135328) 余佳源(20135321) 莫凡(201352 ...
- WiFi QC 自动测试:Qt控制无线路由器
在测试wifi的时候,测试人员一般要使用很多不同型号的AP,并且需要不断地切换Chariot的配置. 这里的思路是致力于提供一个友好的GUI界面来自动控制AP,并且自动控制Chariot进行Throu ...
- HoloLens开发手记 - Unity之Gestures手势识别
手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层API,可以满足不同的手势定制需求.底层API能够获取手的位置和速度信息,高层API则借助手势识别器来识别预设的 ...
- 浅谈JS面向对象之创建对象
hello,everybody,今天要探讨的问题是JS面向对象,其实面向对象呢呢,一般是在大型项目上会采用,不过了解它对我们理解JS语言有很大的意义. 首先什么是面向对象编程(oop),就是用对象的思 ...