久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

C# XML操作類分享

這篇文章主要分享了C# XML操作類的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下

XmlHelper


using System.Xml;
using System.Data;

namespace DotNet.Utilities
{
 /// <summary>
 /// Xml的操作公共類
 /// </summary> 
 public class XmlHelper
 {
  #region 字段定義
  /// <summary>
  /// XML文件的物理路徑
  /// </summary>
  private string _filePath = string.Empty;
  /// <summary>
  /// Xml文檔
  /// </summary>
  private XmlDocument _xml;
  /// <summary>
  /// XML的根節(jié)點
  /// </summary>
  private XmlElement _element;
  #endregion

  #region 構造方法
  /// <summary>
  /// 實例化XmlHelper對象
  /// </summary>
  /// <param name="xmlFilePath">Xml文件的相對路徑</param>
  public XmlHelper(string xmlFilePath)
  {
   //獲取XML文件的絕對路徑
   _filePath = SysHelper.GetPath(xmlFilePath);
  }
  #endregion

  #region 創(chuàng)建XML的根節(jié)點
  /// <summary>
  /// 創(chuàng)建XML的根節(jié)點
  /// </summary>
  private void CreateXMLElement()
  {

   //創(chuàng)建一個XML對象
   _xml = new XmlDocument();

   if (DirFile.IsExistFile(_filePath))
   {
    //加載XML文件
    _xml.Load(this._filePath);
   }

   //為XML的根節(jié)點賦值
   _element = _xml.DocumentElement;
  }
  #endregion

  #region 獲取指定XPath表達式的節(jié)點對象
  /// <summary>
  /// 獲取指定XPath表達式的節(jié)點對象
  /// </summary>  
  /// <param name="xPath">XPath表達式,
  /// 范例1: @"Skill/First/SkillItem", 等效于 @"http://Skill/First/SkillItem"
  /// 范例2: @"Table[USERNAME='a']" , []表示篩選,USERNAME是Table下的一個子節(jié)點.
  /// 范例3: @"ApplyPost/Item[@itemName='崗位編號']",@itemName是Item節(jié)點的屬性.
  /// </param>
  public XmlNode GetNode(string xPath)
  {
   //創(chuàng)建XML的根節(jié)點
   CreateXMLElement();

   //返回XPath節(jié)點
   return _element.SelectSingleNode(xPath);
  }
  #endregion

  #region 獲取指定XPath表達式節(jié)點的值
  /// <summary>
  /// 獲取指定XPath表達式節(jié)點的值
  /// </summary>
  /// <param name="xPath">XPath表達式,
  /// 范例1: @"Skill/First/SkillItem", 等效于 @"http://Skill/First/SkillItem"
  /// 范例2: @"Table[USERNAME='a']" , []表示篩選,USERNAME是Table下的一個子節(jié)點.
  /// 范例3: @"ApplyPost/Item[@itemName='崗位編號']",@itemName是Item節(jié)點的屬性.
  /// </param>
  public string GetValue(string xPath)
  {
   //創(chuàng)建XML的根節(jié)點
   CreateXMLElement();

   //返回XPath節(jié)點的值
   return _element.SelectSingleNode(xPath).InnerText;
  }
  #endregion

  #region 獲取指定XPath表達式節(jié)點的屬性值
  /// <summary>
  /// 獲取指定XPath表達式節(jié)點的屬性值
  /// </summary>
  /// <param name="xPath">XPath表達式,
  /// 范例1: @"Skill/First/SkillItem", 等效于 @"http://Skill/First/SkillItem"
  /// 范例2: @"Table[USERNAME='a']" , []表示篩選,USERNAME是Table下的一個子節(jié)點.
  /// 范例3: @"ApplyPost/Item[@itemName='崗位編號']",@itemName是Item節(jié)點的屬性.
  /// </param>
  /// <param name="attributeName">屬性名</param>
  public string GetAttributeValue(string xPath, string attributeName)
  {
   //創(chuàng)建XML的根節(jié)點
   CreateXMLElement();

   //返回XPath節(jié)點的屬性值
   return _element.SelectSingleNode(xPath).Attributes[attributeName].Value;
  }
  #endregion

  #region 新增節(jié)點
  /// <summary>
  /// 1. 功能:新增節(jié)點。
  /// 2. 使用條件:將任意節(jié)點插入到當前Xml文件中。
  /// </summary>  
  /// <param name="xmlNode">要插入的Xml節(jié)點</param>
  public void AppendNode(XmlNode xmlNode)
  {
   //創(chuàng)建XML的根節(jié)點
   CreateXMLElement();

   //導入節(jié)點
   XmlNode node = _xml.ImportNode(xmlNode, true);

   //將節(jié)點插入到根節(jié)點下
   _element.AppendChild(node);
  }

  /// <summary>
  /// 1. 功能:新增節(jié)點。
  /// 2. 使用條件:將DataSet中的第一條記錄插入Xml文件中。
  /// </summary>  
  /// <param name="ds">DataSet的實例,該DataSet中應該只有一條記錄</param>
  public void AppendNode(DataSet ds)
  {
   //創(chuàng)建XmlDataDocument對象
   XmlDataDocument xmlDataDocument = new XmlDataDocument(ds);

   //導入節(jié)點
   XmlNode node = xmlDataDocument.DocumentElement.FirstChild;

   //將節(jié)點插入到根節(jié)點下
   AppendNode(node);
  }
  #endregion

  #region 刪除節(jié)點
  /// <summary>
  /// 刪除指定XPath表達式的節(jié)點
  /// </summary>  
  /// <param name="xPath">XPath表達式,
  /// 范例1: @"Skill/First/SkillItem", 等效于 @"http://Skill/First/SkillItem"
  /// 范例2: @"Table[USERNAME='a']" , []表示篩選,USERNAME是Table下的一個子節(jié)點.
  /// 范例3: @"ApplyPost/Item[@itemName='崗位編號']",@itemName是Item節(jié)點的屬性.
  /// </param>
  public void RemoveNode(string xPath)
  {
   //創(chuàng)建XML的根節(jié)點
   CreateXMLElement();

   //獲取要刪除的節(jié)點
   XmlNode node = _xml.SelectSingleNode(xPath);

   //刪除節(jié)點
   _element.RemoveChild(node);
  }
  #endregion //刪除節(jié)點

  #region 保存XML文件
  /// <summary>
  /// 保存XML文件
  /// </summary>  
  public void Save()
  {
   //創(chuàng)建XML的根節(jié)點
   CreateXMLElement();

   //保存XML文件
   _xml.Save(this._filePath);
  }
  #endregion //保存XML文件

  #region 靜態(tài)方法

  #region 創(chuàng)建根節(jié)點對象
  /// <summary>
  /// 創(chuàng)建根節(jié)點對象
  /// </summary>
  /// <param name="xmlFilePath">Xml文件的相對路徑</param>  
  private static XmlElement CreateRootElement(string xmlFilePath)
  {
   //定義變量,表示XML文件的絕對路徑
   string filePath = "";

   //獲取XML文件的絕對路徑
   filePath = SysHelper.GetPath(xmlFilePath);

   //創(chuàng)建XmlDocument對象
   XmlDocument xmlDocument = new XmlDocument();
   //加載XML文件
   xmlDocument.Load(filePath);

   //返回根節(jié)點
   return xmlDocument.DocumentElement;
  }
  #endregion

  #region 獲取指定XPath表達式節(jié)點的值
  /// <summary>
  /// 獲取指定XPath表達式節(jié)點的值
  /// </summary>
  /// <param name="xmlFilePath">Xml文件的相對路徑</param>
  /// <param name="xPath">XPath表達式,
  /// 范例1: @"Skill/First/SkillItem", 等效于 @"http://Skill/First/SkillItem"
  /// 范例2: @"Table[USERNAME='a']" , []表示篩選,USERNAME是Table下的一個子節(jié)點.
  /// 范例3: @"ApplyPost/Item[@itemName='崗位編號']",@itemName是Item節(jié)點的屬性.
  /// </param>
  public static string GetValue(string xmlFilePath, string xPath)
  {
   //創(chuàng)建根對象
   XmlElement rootElement = CreateRootElement(xmlFilePath);

   //返回XPath節(jié)點的值
   return rootElement.SelectSingleNode(xPath).InnerText;
  }
  #endregion

  #region 獲取指定XPath表達式節(jié)點的屬性值
  /// <summary>
  /// 獲取指定XPath表達式節(jié)點的屬性值
  /// </summary>
  /// <param name="xmlFilePath">Xml文件的相對路徑</param>
  /// <param name="xPath">XPath表達式,
  /// 范例1: @"Skill/First/SkillItem", 等效于 @"http://Skill/First/SkillItem"
  /// 范例2: @"Table[USERNAME='a']" , []表示篩選,USERNAME是Table下的一個子節(jié)點.
  /// 范例3: @"ApplyPost/Item[@itemName='崗位編號']",@itemName是Item節(jié)點的屬性.
  /// </param>
  /// <param name="attributeName">屬性名</param>
  public static string GetAttributeValue(string xmlFilePath, string xPath, string attributeName)
  {
   //創(chuàng)建根對象
   XmlElement rootElement = CreateRootElement(xmlFilePath);

   //返回XPath節(jié)點的屬性值
   return rootElement.SelectSingleNode(xPath).Attributes[attributeName].Value;
  }
  #endregion

  #endregion

  public static void SetValue(string xmlFilePath, string xPath, string newtext)
  {
   //string path = SysHelper.GetPath(xmlFilePath);
   //var queryXML = from xmlLog in xelem.Descendants("msg_log")
   //    //所有名字為Bin的記錄
   //    where xmlLog.Element("user").Value == "Bin"
   //    select xmlLog;

   //foreach (XElement el in queryXML)
   //{
   // el.Element("user").Value = "LiuBin";//開始修改
   /
                
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權益,請聯(lián)系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要為大家詳細介紹了C# SendMail發(fā)送郵件功能實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要介紹了C#實現(xiàn)的SQL備份與還原功能,結(jié)合具體實例形式分析了C#操作數(shù)據(jù)庫實現(xiàn)SQL備份與還原相關的控件、SQL連接、文件等操作技巧,需要的朋友可以參考下
這篇文章主要介紹了C#使用checkedListBox1控件鏈接數(shù)據(jù)庫的方法,結(jié)合具體實例形式分析了數(shù)據(jù)庫的創(chuàng)建及checkedListBox1控件連接數(shù)據(jù)庫的相關操作技巧,需要的朋友可以參考下
這篇文章主要介紹了C#實現(xiàn)的sqlserver操作類,結(jié)合具體實例形式分析了C#針對sqlserver數(shù)據(jù)庫進行連接、查詢、更新、關閉等相關操作技巧,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了C#多線程數(shù)組模擬socket的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要為大家詳細介紹了C#根據(jù)http和ftp圖片地址獲取對應圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 2021天天干夜夜爽 | 自拍偷拍亚洲欧美 | 成人三级视频 | www.成人久久 | 亚洲精品乱码 | 黄视频欧美 | 亚洲一区二区三区在线 | 日本亚洲精品成人欧美一区 | 成人福利视频网站 | 日韩高清一区 | 91精品国产91久久久久久最新 | 成人中文字幕在线 | 精品久久久久久久 | 韩国精品在线 | 久久久久久久久久久丰满 | 日本淫视频 | 一区二区三区四区在线视频 | 天天躁日日躁狠狠的躁天龙影院 | 麻豆av网站 | 午夜免费视频 | 国偷自产av一区二区三区 | 色综合久久88色综合天天 | 欧美在线观看一区 | 国产精品久久久一区二区三区 | 国产高清视频在线观看 | 狠狠的干狠狠的操 | 国产精品久久午夜夜伦鲁鲁 | 国产日韩欧美91 | 日韩在线国产 | 国产激情视频在线观看 | 欧美一区二 | 香蕉视频久久久 | 精品视频亚洲 | 欧美激情精品久久久久久变态 | 成人国产精品久久 | 日韩欧美国产一区二区 | 国产在线中文字幕 | 国产精品国产馆在线真实露脸 | 欧美成ee人免费视频 | 四虎最新 | 精品国产一区二区在线 |