zoukankan      html  css  js  c++  java
  • 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));
    }
    }

  • 相关阅读:
    MySQL进阶
    对象关系_many2many
    objectstate对象三种状态
    自动在数据库中创建表
    Pytest学习之使用多个fixture
    Pytest学习之fixture作用范围(scope)
    python测试dubbo类型接口
    swagger接口注释添加,接口版本变更规则
    Pytest-skip跳过功能
    接口自动化测试介入项目管理流程
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/5457363.html
Copyright © 2011-2022 走看看