最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)的XML操作類實(shí)例

 更新時間:2015年08月10日 17:33:30   作者:軟件工程師  
這篇文章主要介紹了C#實(shí)現(xiàn)的XML操作類,涉及C#操作XML文件的讀取、插入、修改、刪除等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實(shí)例講述了C#實(shí)現(xiàn)的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>
  /// 讀取數(shù)據(jù)
  /// </summary>
  /// <param name="path">路徑</param>
  /// <param name="node">節(jié)點(diǎn)</param>
  /// <param name="attribute">屬性名,非空時返回該屬性值,否則返回串聯(lián)值</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>
  /// 插入數(shù)據(jù)
  /// </summary>
  /// <param name="path">路徑</param>
  /// <param name="node">節(jié)點(diǎn)</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>
  /// 修改數(shù)據(jù)
  /// </summary>
  /// <param name="path">路徑</param>
  /// <param name="node">節(jié)點(diǎn)</param>
  /// <param name="attribute">屬性名,非空時修改該節(jié)點(diǎn)屬性值,否則修改節(jié)點(diǎn)值</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>
  /// 刪除數(shù)據(jù)
  /// </summary>
  /// <param name="path">路徑</param>
  /// <param name="node">節(jié)點(diǎn)</param>
  /// <param name="attribute">屬性名,非空時刪除該節(jié)點(diǎn)屬性值,否則刪除節(jié)點(diǎn)值</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 { }
  }
 }
}

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, "/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", "");

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • C#9.0新特性詳解——頂級程序語句(Top-Level Programs)

    C#9.0新特性詳解——頂級程序語句(Top-Level Programs)

    這篇文章主要介紹了C#9.0新特性詳解——頂級程序語句(Top-Level Programs)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2020-12-12
  • C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實(shí)例

    C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實(shí)例

    這篇文章主要介紹了C#使用Socket發(fā)送和接收TCP數(shù)據(jù)的實(shí)現(xiàn)方法,以實(shí)例的形式詳細(xì)講述了C#實(shí)現(xiàn)socket通信的完整實(shí)現(xiàn)過程,非常具有實(shí)用價值,需要的朋友可以參考下
    2014-10-10
  • WPF+SkiaSharp實(shí)現(xiàn)自繪彈幕效果

    WPF+SkiaSharp實(shí)現(xiàn)自繪彈幕效果

    這篇文章主要為大家詳細(xì)介紹了如何利用WPF和SkiaSharp實(shí)現(xiàn)自制彈幕效果,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-09-09
  • c# base關(guān)鍵字的具體使用

    c# base關(guān)鍵字的具體使用

    base關(guān)鍵字用于從派生類中訪問基類的成員,本文主要介紹了c# base關(guān)鍵字的具體使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • dotnet如何將文件刪除到回收站

    dotnet如何將文件刪除到回收站

    這篇文章主要給大家介紹了關(guān)于dotnet如何將文件刪除到回收站的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用dotnet具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • C#采用遞歸實(shí)現(xiàn)階乘的方法

    C#采用遞歸實(shí)現(xiàn)階乘的方法

    這篇文章主要介紹了C#采用遞歸實(shí)現(xiàn)階乘的方法,很有借鑒價值的一個算法技巧,需要的朋友可以參考下
    2014-08-08
  • C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中

    C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中

    這篇文章主要給大家介紹C#.net中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中,本文涉及到C#.net中批量插入數(shù)據(jù)到數(shù)據(jù)庫中方面的內(nèi)容,對C#.net批量插入數(shù)據(jù)到數(shù)據(jù)庫中感興趣的朋友可以參考下本篇文章
    2015-10-10
  • C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音或轉(zhuǎn)拼音首字母的方法

    C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音或轉(zhuǎn)拼音首字母的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)漢字轉(zhuǎn)拼音或轉(zhuǎn)拼音首字母的方法,涉及C#操作數(shù)組、遍歷及正則匹配的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C#網(wǎng)頁信息采集方法匯總

    C#網(wǎng)頁信息采集方法匯總

    這篇文章主要介紹了C#網(wǎng)頁信息采集方法,實(shí)例匯總了三種常用的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • c# DataView.ToTable()方法 去除表的重復(fù)項(xiàng)問題

    c# DataView.ToTable()方法 去除表的重復(fù)項(xiàng)問題

    這篇文章主要介紹了c# DataView.ToTable()方法 去除表的重復(fù)項(xiàng)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

凤冈县| 库尔勒市| 大竹县| 册亨县| 苗栗县| 石楼县| 上饶县| 新乡县| 黔西县| 东阿县| 龙泉市| 翁牛特旗| 娄烦县| 额尔古纳市| 泗阳县| 黄石市| 治县。| 开原市| 长武县| 广宁县| 德州市| 朝阳市| 乐东| 澄江县| 长宁县| 资溪县| 和林格尔县| 延川县| 监利县| 格尔木市| 宾阳县| 莲花县| 永川市| 平阳县| 绥阳县| 历史| 含山县| 抚宁县| 通许县| 云阳县| 仁布县|