• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现的XML操作类实例

C#实现的XML操作类实例

作者:软件工程师 字体:[增加 减小] 来源:互联网 时间:2017-05-28

软件工程师 通过本文主要向大家介绍了马桶c的个人空间,c语言,欲情 c max,维生素c,奔驰c200等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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 node, 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 node, string attribute, 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 node, 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 { }
  }
 }
}

</div>

XmlFile.xml:

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

</div>

使用方法:

string xml = Server.MapPath("XmlFile.xml");
//插入元素
XmlHelper.Insert(xml, "/Root", "Studio", "", "");
//插入元素/属性
XmlHelper.Insert(xml, "/Root/Studio", "Site", "Name", "小路工作室");
XmlHelper.Insert(xml, "/Root/Studio", "Site", "Name", "丁香鱼工作室");
XmlHelper.Insert(xml, "/Root/Studio", "Site", "Name", "谱天城工作室");
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='丁香鱼工作室']", "", "Url", "http://www.luckfish.net/");
XmlHelper.Insert(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "", "Url", "http://www.putiancheng.com/");
//修改元素值
XmlHelper.Update(xml, "/Root/Studio/Site[@Name='谱天城工作室']/Master", "", "RedDust");
//修改属性值
XmlHelper.Update(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "Url", "http://www.putiancheng.net/");
XmlHelper.Update(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "Name", "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, "/Root/Studio/Site[@Name='丁香鱼工作室']", "Url") + "</div>");
//删除属性
XmlHelper.Delete(xml, "/Root/Studio/Site[@Name='小路工作室']", "Url");
//删除元素
XmlHelper.Delete(xml, "/Root/Studio", "");

</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#利用ReportViewer生成报表
  • C#基于正则去掉注释的方法示例
  • C#中new的用法及与override的区别分析
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法
  • C# for循环的经典案例集锦
  • C#操作word的方法示例
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法
  • C# WinForm制作异形窗体与控件的方法
  • C#实现Excel表数据导入Sql Server数据库中的方法
  • C#使用NPOI上传excel

相关文章

  • 2017-05-28学会使用C#异常
  • 2017-05-28C#利用ScriptControl动态执行JS和VBS脚本
  • 2017-05-28C#判断指定分区是否是ntfs格式的方法
  • 2017-05-28C# 设计模式系列教程-装饰模式
  • 2017-05-28C#通过oledb访问access数据库的方法
  • 2017-05-28datatable去掉重复行的方法
  • 2017-05-28C# 邮箱mail 发送类
  • 2017-05-28c#哈希算法的实现方法及思路
  • 2017-05-28C#操作数据库中存取图片文件的方法
  • 2017-05-28c#实现16进制和字符串之间转换的代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#怎么实现手机短信发送功能
    • C#保存图片到数据库并读取显示图片的方法
    • c# 以二进制读取文本文件
    • C#逐行读取txt文件的方法
    • C#利用ReportViewer生成报表
    • C#使用iCSharpcode进行文件压缩实现方法
    • c#注册客户端事件示例
    • 用C#写的ADSL拨号程序的代码示例
    • C#3.0使用EventLog类写Windows事件日志的方法
    • C#归并排序的实现方法(递归,非递归,自然归并)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有