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.IO;
using System.Xml;
using System.Text;
namespace MSCL
{
/// <summary>
/// XML 操作基类
/// </summary>
public class XmlHelper : IDisposable
{
//以下为单一功能的静态类
#region 读取XML到DataSet
/**//**************************************************
* 函数名称:GetXml(string XmlPath)
* 功能说明:读取XML到DataSet
* 参 数:XmlPath:xml文档路径
* 使用示列:
* using EC; //引用命名空间
* string xmlPath = Server.MapPath("/EBDnsConfig/DnsConfig.xml"); //获取xml路径
* DataSet ds = EC.XmlObject.GetXml(xmlPath); //读取xml到DataSet中
************************************************/
/** <summary>
/// 功能:读取XML到DataSet中
/// </summary>
/// <param name="XmlPath">xml路径</param>
/// <returns>DataSet</returns>
public static DataSet GetXml(string XmlPath)
{
DataSet ds = new DataSet();
ds.ReadXml(@XmlPath);
return ds;
}
#endregion
#region 读取xml文档并返回一个节点
/**//**************************************************
* 函数名称:ReadXmlReturnNode(string XmlPath,string Node)
* 功能说明:读取xml文档并返回一个节点:适用于一级节点
* 参 数: XmlPath:xml文档路径;Node 返回的节点名称
* 适应用Xml:<?xml version="1.0" encoding="utf-8" ?>
* <root>
* <dns1>ns1.everdns.com</dns1>
* </root>
* 使用示列:
* using EC; //引用命名空间
* string xmlPath = Server.MapPath("/EBDnsConfig/DnsConfig.xml"); //获取xml路径
* Response.Write(XmlObject.ReadXmlReturnNode(xmlPath, "mailmanager"));
************************************************/
/** <summary>
/// 读取xml文档并返回一个节点:适用于一级节点
/// </summary>
/// <param name="XmlPath">xml路径</param>
/// <param name="NodeName">节点</param>
/// <returns></returns>
public static string ReadXmlReturnNode(string XmlPath, string Node)
{
XmlDocument docXml = new XmlDocument();
docXml.Load(@XmlPath);
XmlNodeList xn = docXml.GetElementsByTagName(Node);
return xn.Item(0).InnerText.ToString();
}
#endregion
#region 查找数据,返回一个DataSet
/**//**************************************************
* 函数名称:GetXmlData(string xmlPath, string XmlPathNode)
* 功能说明:查找数据,返回当前节点的所有下级节点,填充到一个DataSet中
* 参 数:xmlPath:xml文档路径;XmlPathNode:当前节点的路径
* 使用示列:
* using EC; //引用命名空间
* string xmlPath = Server.MapPath("/EBDomainConfig/DomainConfig.xml"); //获取xml路径
* DataSet ds = new DataSet();
* ds = XmlObject.GetXmlData(xmlPath, "root/items");//读取当前路径
* this.GridView1.DataSource = ds;
* this.GridView1.DataBind();
* ds.Clear();
* ds.Dispose();
* Xml示例:
* <?xml version="1.0" encoding="utf-8" ?>
* <root>
* <items name="xinnet">
* <url>http://www.paycenter.com.cn/cgi-bin/</url>
* <port>80</port>
* </items>
* </root>
************************************************/
/** <summary>
/// 查找数据,返回当前节点的所有下级节点,填充到一个DataSet中
/// </summary>
/// <param name="xmlPath">xml文档路径</param>
/// <param name="XmlPathNode">节点的路径:根节点/父节点/当前节点</param>
/// <returns></returns>
public static DataSet GetXmlData(string xmlPath, string XmlPathNode)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
DataSet ds = new DataSet();
StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
ds.ReadXml(read);
return ds;
}
#endregion
#region 更新Xml节点内容
/**//**************************************************
* 函数名称:XmlNodeReplace(string xmlPath,string Node,string Content)
* 功能说明:更新Xml节点内容
* 参 数:xmlPath:xml文档路径;Node:当前节点的路径;Content:内容
* 使用示列:
* using EC; //引用命名空间
* string xmlPath = Server.MapPath("/EBDomainConfig/DomainConfig.xml"); //获取xml路径
* XmlObject.XmlNodeReplace(xmlPath, "root/test", "56789"); //更新节点内容
c# xml操作类 比较齐全C#超级工具类
最新推荐文章于 2024-06-21 18:49:43 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)