ASP.NET XML查找 之 XPath的封装[ 二 ]

接上一篇文章 我把后面的增删改部分方法贴出来

//每一个方法 都需要一个Domname参数,这就是上篇中用键值对的原因,通过键来查找对应的控制器..

 

//  查找单个子节点

        public static XPathNavigator querySingle(String domname,String expression)
        {
            try
            {
                return navigator[domname].SelectSingleNode(expression);
            }

            catch (Exception ex)
            {
                throw new NotImplementedException(ex.Message);
            }
        }

 

//查找节点集合
        public static XPathNodeIterator queryNodes(String domname,String expression)
        {
            try
            {
                return navigator[domname].Select(expression);
            }
            catch (Exception ex)
            {
                throw new NotImplementedException(ex.Message);
            }
        }

 

//保存文档
        public static void SaveDom(String domname)
        {
            try
            {
                DomCollection[domname].Save(Global.paths[domname]);
            }
            catch (Exception ex)
            {
                throw new NotImplementedException(ex.Message);
            }
        }

 

//增

        public static void InsertSingle(String domname,String expression,String eles)
        {
            querySingle(domname, expression).InsertAfter(eles);
           
            SaveDom(domname);
        }
//改匹配 替换形式
        public static void UpdateSingle(String domname, String expr, String eles)
        {
            querySingle(domname,expr).ReplaceSelf(eles);

            SaveDom(domname);
        }

//改匹配元素的值
        public static void UpdateAttr(String domname, String expr, Object eles)
        {
            querySingle(domname, expr).SetTypedValue(eles);

            SaveDom(domname);
        }

//删除匹配元素                                   
        public static void DeleteSingle(String domname,String expr)
        {
            querySingle(domname, expr).DeleteSelf();

            SaveDom(domname);
        }

 

另外还可以继续封装 如改属性、移位.. 上面的去掉try catch也没多少代码了...

 

调用的时候只需要 className.方法名(参数)就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值