国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
XML操作類

using System;
using System.Xml;
using System.Data;

namespace XmlClass
    {
        /// <summary>
        /// XML相關通用功能
        /// </summary>
        public class XmlHelper
        {
            public XmlHelper() { }

            /// <summary>
            /// XML資源類型
            /// </summary>
            public enum XmlType
            {
                File,
                String
            };

            #region 讀取XML資源到DataSet中
            /// <summary>
            /// 讀取XML資源到DataSet中
            /// </summary>
            /// <param name="source">XML資源,文件為路徑,否則為XML字符串</param>
            /// <param name="xmlType">XML資源類型</param>
            /// <returns>DataSet</returns>
            public static DataSet GetDataSet(string source, XmlType xmlType)
            {
                DataSet ds = new DataSet();
                if (xmlType == XmlType.File)
                {
                    ds.ReadXml(source);
                }
                else
                {
                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(source);
                    XmlNodeReader xnr = new XmlNodeReader(xd);
                    ds.ReadXml(xnr);
                }
                return ds;
            }

            #endregion

            #region 獲取一個字符串xml文檔中的ds
            /// <summary>
            /// 獲取一個字符串xml文檔中的ds
            /// </summary>
            /// <param name="xml_string">含有xml信息的字符串</param>
            public static void get_XmlValue_ds(string xml_string, ref DataSet ds)
            {
                System.Xml.XmlDocument xd = new XmlDocument();
                xd.LoadXml(xml_string);
                XmlNodeReader xnr = new XmlNodeReader(xd);
                ds.ReadXml(xnr);
                xnr.Close();
                int a = ds.Tables.Count;
            }
            #endregion

            #region 讀取XML資源到DataTable中
            /// <summary>
            /// 讀取XML資源到DataTable中
            /// </summary>
            /// <param name="source">XML資源,文件為路徑,否則為XML字符串</param>
            /// <param name="xmlType">XML資源類型:文件,字符串</param>
            /// <param name="tableName">表名稱</param>
            /// <returns>DataTable</returns>
            public static DataTable GetTable(string source, XmlType xmlType, string tableName)
            {
                DataSet ds = new DataSet();
                if (xmlType == XmlType.File)
                {
                    ds.ReadXml(source);
                }
                else
                {
                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(source);
                    XmlNodeReader xnr = new XmlNodeReader(xd);
                    ds.ReadXml(xnr);
                }
                return ds.Tables[tableName];
            }
            #endregion

            #region 讀取XML資源中指定的DataTable的指定行指定列的值
            /// <summary>
            /// 讀取XML資源中指定的DataTable的指定行指定列的值
            /// </summary>
            /// <param name="source">XML資源</param>
            /// <param name="xmlType">XML資源類型:文件,字符串</param>
            /// <param name="tableName">表名</param>
            /// <param name="rowIndex">行號</param>
            /// <param name="colName">列名</param>
            /// <returns>值,不存在時返回Null</returns>
            public static object GetTableCell(string source, XmlType xmlType, string tableName, int rowIndex, string colName)
            {
                DataSet ds = new DataSet();
                if (xmlType == XmlType.File)
                {
                    ds.ReadXml(source);
                }
                else
                {
                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(source);
                    XmlNodeReader xnr = new XmlNodeReader(xd);
                    ds.ReadXml(xnr);
                }
                return ds.Tables[tableName].Rows[rowIndex][colName];
            }
            #endregion

            #region 讀取XML資源中指定的DataTable的指定行指定列的值
            /// <summary>
            /// 讀取XML資源中指定的DataTable的指定行指定列的值
            /// </summary>
            /// <param name="source">XML資源</param>
            /// <param name="xmlType">XML資源類型:文件,字符串</param>
            /// <param name="tableName">表名</param>
            /// <param name="rowIndex">行號</param>
            /// <param name="colIndex">列號</param>
            /// <returns>值,不存在時返回Null</returns>
            public static object GetTableCell(string source, XmlType xmlType, string tableName, int rowIndex, int colIndex)
            {
                DataSet ds = new DataSet();
                if (xmlType == XmlType.File)
                {
                    ds.ReadXml(source);
                }
                else
                {
                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(source);
                    XmlNodeReader xnr = new XmlNodeReader(xd);
                    ds.ReadXml(xnr);
                }
                return ds.Tables[tableName].Rows[rowIndex][colIndex];
            }
            #endregion

            #region 將DataTable寫入XML文件中
            /// <summary>
            /// 將DataTable寫入XML文件中
            /// </summary>
            /// <param name="dt">含有數(shù)據(jù)的DataTable</param>
            /// <param name="filePath">文件路徑</param>
            public static void SaveTableToFile(DataTable dt, string filePath)
            {
                DataSet ds = new DataSet("Config");
                ds.Tables.Add(dt.Copy());
                ds.WriteXml(filePath);
            }
            #endregion

            #region 將DataTable以指定的根結點名稱寫入文件
            /// <summary>
            /// 將DataTable以指定的根結點名稱寫入文件
            /// </summary>
            /// <param name="dt">含有數(shù)據(jù)的DataTable</param>
            /// <param name="rootName">根結點名稱</param>
            /// <param name="filePath">文件路徑</param>
            public static void SaveTableToFile(DataTable dt, string rootName, string filePath)
            {
                DataSet ds = new DataSet(rootName);
                ds.Tables.Add(dt.Copy());
                ds.WriteXml(filePath);
            }
            #endregion

            #region 使用DataSet方式更新XML文件節(jié)點
            /// <summary>
            /// 使用DataSet方式更新XML文件節(jié)點
            /// </summary>
            /// <param name="filePath">XML文件路徑</param>
            /// <param name="tableName">表名稱</param>
            /// <param name="rowIndex">行號</param>
            /// <param name="colName">列名</param>
            /// <param name="content">更新值</param>
            /// <returns>更新是否成功</returns>
            public static bool UpdateTableCell(string filePath, string tableName, int rowIndex, string colName, string content)
            {
                bool flag = false;
                DataSet ds = new DataSet();
                ds.ReadXml(filePath);
                DataTable dt = ds.Tables[tableName];

                if (dt.Rows[rowIndex][colName] != null)
                {
                    dt.Rows[rowIndex][colName] = content;
                    ds.WriteXml(filePath);
                    flag = true;
                }
                else
                {
                    flag = false;
                }
                return flag;
            }
            #endregion

            #region 使用DataSet方式更新XML文件節(jié)點
            /// <summary>
            /// 使用DataSet方式更新XML文件節(jié)點
            /// </summary>
            /// <param name="filePath">XML文件路徑</param>
            /// <param name="tableName">表名稱</param>
            /// <param name="rowIndex">行號</param>
            /// <param name="colIndex">列號</param>
            /// <param name="content">更新值</param>
            /// <returns>更新是否成功</returns>
            public static bool UpdateTableCell(string filePath, string tableName, int rowIndex, int colIndex, string content)
            {
                bool flag = false;

                DataSet ds = new DataSet();
                ds.ReadXml(filePath);
                DataTable dt = ds.Tables[tableName];

                if (dt.Rows[rowIndex][colIndex] != null)
                {
                    dt.Rows[rowIndex][colIndex] = content;
                    ds.WriteXml(filePath);
                    flag = true;
                }
                else
                {
                    flag = false;
                }
                return flag;
            }
            #endregion

            #region 讀取XML資源中的指定節(jié)點內(nèi)容
            /// <summary>
            /// 讀取XML資源中的指定節(jié)點內(nèi)容
            /// </summary>
            /// <param name="source">XML資源</param>
            /// <param name="xmlType">XML資源類型:文件,字符串</param>
            /// <param name="nodeName">節(jié)點名稱</param>
            /// <returns>節(jié)點內(nèi)容</returns>
            public static object GetNodeValue(string source, XmlType xmlType, string nodeName)
            {
                XmlDocument xd = new XmlDocument();
                if (xmlType == XmlType.File)
                {
                    xd.Load(source);
                }
                else
                {
                    xd.LoadXml(source);
                }
                XmlElement xe = xd.DocumentElement;
                XmlNode xn = xe.SelectSingleNode("http://" + nodeName);
                if (xn != null)
                {
                    return xn.InnerText;
                }
                else
                {
                    return null;
                }
            }

            /// <summary>
            /// 讀取XML資源中的指定節(jié)點內(nèi)容
            /// </summary>
            /// <param name="source">XML資源</param>
            /// <param name="nodeName">節(jié)點名稱</param>
            /// <returns>節(jié)點內(nèi)容</returns>
            public static object GetNodeValue(string source, string nodeName)
            {
                if (source == null || nodeName == null || source == "" || nodeName == "" || source.Length < nodeName.Length * 2)
                {
                    return null;
                }
                else
                {
                    int start = source.IndexOf("<" + nodeName + ">") + nodeName.Length + 2;
                    int end = source.IndexOf("</" + nodeName + ">");
                    if (start == -1 || end == -1)
                    {
                        return null;
                    }
                    else if (start >= end)
                    {
                        return null;
                    }
                    else
                    {
                        return source.Substring(start, end - start);
                    }
                }
            }
            #endregion

            #region 更新XML文件中的指定節(jié)點內(nèi)容
            /// <summary>
            /// 更新XML文件中的指定節(jié)點內(nèi)容
            /// </summary>
            /// <param name="filePath">文件路徑</param>
            /// <param name="nodeName">節(jié)點名稱</param>
            /// <param name="nodeValue">更新內(nèi)容</param>
            /// <returns>更新是否成功</returns>
            public static bool UpdateNode(string filePath, string nodeName, string nodeValue)
            {
                bool flag = false;

                XmlDocument xd = new XmlDocument();
                xd.Load(filePath);
                XmlElement xe = xd.DocumentElement;
                XmlNode xn = xe.SelectSingleNode("http://" + nodeName);
                if (xn != null)
                {
                    xn.InnerText = nodeValue;
                    flag = true;
                }
                else
                {
                    flag = false;
                }
                return flag;
            }
            #endregion

            #region 操作xml文件中指定節(jié)點的數(shù)據(jù)
            /// <summary>
            /// 獲得xml文件中指定節(jié)點的節(jié)點數(shù)據(jù)
            /// </summary>
            /// <param name="TableName"></param>
            /// <returns></returns>
            public static string GetNodeInfoByNodeName(string path, string nodeName)
            {
                string XmlString = "";
                XmlDocument xml = new XmlDocument();
                xml.Load(path);
                System.Xml.XmlElement root = xml.DocumentElement;
                System.Xml.XmlNode node = root.SelectSingleNode("http://" + nodeName);
                if (node != null)
                {
                    XmlString = node.InnerText;
                }
                return XmlString;
            }
            #endregion
        }
    }

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
c# XML和實體類之間相互轉換
XML與DataTable/DataSet互轉(C#) 把數(shù)據(jù)庫中表的內(nèi)容轉存為XML文件
Asp.net Access 數(shù)據(jù)訪問通用類
一個簡單的C#的ACCESS操作類
ado.net題目含答案
C#操作Access類
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服