加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#实现的XML操作类实例

发布时间:2020-12-15 05:58:48 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#实现的XML操作类。供大家参考研究。具体如下: 这里讲述了C#写的一个XML操作类,包括读取/插入/修改/删除。 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.We

本篇章节讲解C#实现的XML操作类。分享给大家供大家参考。具体如下:

这里讲述了C#写的一个XML操作类,包括读取/插入/修改/删除。

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
namespace PuTianCheng
{
 /// <summary>
 /// XmlHelper 的摘要说明
 /// </summary>
 public class XmlHelper
 {
  public XmlHelper()
  {
  }
  /// <summary>
  /// 读取数据
  /// </summary>
  /// <param name="path">路径</param>
  /// <param name="node">节点</param>
  /// <param name="attribute">属性名,非空时返回该属性值,否则返回串联值</param>
  /// <returns>string</returns>
  public static string Read(string path,string node,string attribute)
  {
   string value = "";
   try
   {
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    XmlNode xn = doc.SelectSingleNode(node);
    value = (attribute.Equals("") ? xn.InnerText : xn.Attributes[attribute].Value);
   }
   catch { }
   return value;
  }
  /// <summary>
  /// 插入数据
  /// </summary>
  /// <param name="path">路径</param>
  /// <param name="node">节点</param>
  /// <param name="element">元素名,非空时插入新元素,否则在该元素中插入属性</param>
  /// <param name="attribute">属性名,非空时插入该元素属性值,否则插入元素值</param>
  /// <param name="value">值</param>
  /// <returns></returns>
  public static void Insert(string path,string element,string attribute,string value)
  {
   try
   {
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    XmlNode xn = doc.SelectSingleNode(node);
    if (element.Equals(""))
    {
     if (!attribute.Equals(""))
     {
      XmlElement xe = (XmlElement)xn;
      xe.SetAttribute(attribute,value);
     }
    }
    else
    {
     XmlElement xe = doc.createElement_x(element);
     if (attribute.Equals(""))
      xe.InnerText = value;
     else
      xe.SetAttribute(attribute,value);
     xn.AppendChild(xe);
    }
    doc.Save(path);
   }
   catch { }
  }
  /// <summary>
  /// 修改数据
  /// </summary>
  /// <param name="path">路径</param>
  /// <param name="node">节点</param>
  /// <param name="attribute">属性名,非空时修改该节点属性值,否则修改节点值</param>
  /// <param name="value">值</param>
  /// <returns></returns>
  public static void Update(string path,string value)
  {
   try
   {
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    XmlNode xn = doc.SelectSingleNode(node);
    XmlElement xe = (XmlElement)xn;
    if (attribute.Equals(""))
     xe.InnerText = value;
    else
     xe.SetAttribute(attribute,value);
    doc.Save(path);
   }
   catch { }
  }
  /// <summary>
  /// 删除数据
  /// </summary>
  /// <param name="path">路径</param>
  /// <param name="node">节点</param>
  /// <param name="attribute">属性名,非空时删除该节点属性值,否则删除节点值</param>
  /// <param name="value">值</param>
  /// <returns></returns>
  public static void Delete(string path,string attribute)
  {
   try
   {
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    XmlNode xn = doc.SelectSingleNode(node);
    XmlElement xe = (XmlElement)xn;
    if (attribute.Equals(""))
     xn.ParentNode.RemoveChild(xn);
    else
     xe.RemoveAttribute(attribute);
    doc.Save(path);
   }
   catch { }
  }
 }
}

XmlFile.xml:

<?xml version="1.0" encoding="utf-8"?>
<Root />

使用方法:

string xml = Server.MapPath("XmlFile.xml");
//插入元素
XmlHelper.Insert(xml,"/Root","Studio","","");
//插入元素/属性
XmlHelper.Insert(xml,"/Root/Studio","Site","Name","小路工作室");
XmlHelper.Insert(xml,"丁香鱼工作室");
XmlHelper.Insert(xml,"谱天城工作室");
XmlHelper.Insert(xml,"/Root/Studio/Site[@Name='谱天城工作室']","Master","红尘静思");
//插入属性
XmlHelper.Insert(xml,"/Root/Studio/Site[@Name='小路工作室']","Url","http://www.wzlu.com/");
XmlHelper.Insert(xml,"/Root/Studio/Site[@Name='丁香鱼工作室']","http://www.luckfish.net/");
XmlHelper.Insert(xml,"http://www.putiancheng.com/");
//修改元素值
XmlHelper.Update(xml,"/Root/Studio/Site[@Name='谱天城工作室']/Master","RedDust");
//修改属性值
XmlHelper.Update(xml,"http://www.putiancheng.net/");
XmlHelper.Update(xml,"PuTianCheng Studio");
//读取元素值
Response.Write("<div>" + XmlHelper.Read(xml,"/Root/Studio/Site/Master","") + "</div>");
//读取属性值
Response.Write("<div>" + XmlHelper.Read(xml,"/Root/Studio/Site","Url") + "</div>");
//读取特定属性值
Response.Write("<div>" + XmlHelper.Read(xml,"Url") + "</div>");
//删除属性
XmlHelper.Delete(xml,"Url");
//删除元素
XmlHelper.Delete(xml,"");

希望本文所述对大家的C#程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读