📄 xmlcontrol.cs
字号:
using System;
using System.Data;
using System.Xml;
using System.IO;
namespace iSun.Common.XmlFunc
{
/// <summary>
/// 公司:路路發互動網路有限公司
/// 作者:不詳
/// 修改:江懷玉
/// 修改日期:2006-08-08
/// 用途:Xml操作組件
/// 說明:此类由网上获取,用于进行简单的XML文件操作
/// </summary>
public class XmlControls
{
protected string strXmlFile;
protected XmlDocument objXmlDoc = new XmlDocument();
public XmlControls(string XmlFile)
{
//
// TODO: 在這裡加入建構函式的程式碼
//
try
{
objXmlDoc.Load(XmlFile);
}
catch (System.Exception ex)
{
throw ex;
}
strXmlFile = XmlFile;
}
public XmlControls()
{
}
public DataView GetData(string XmlPathNode)
{
//查找数据。返回一个DataView
DataSet ds = new DataSet();
try
{
StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
ds.ReadXml(read);
return ds.Tables[0].DefaultView;
}
catch
{
return new DataView();
}
}
public DataView GetData2(string XmlPathNode)
{
//查找數據。返回一個DataView
DataSet ds = new DataSet();
try
{
XmlNodeList list = objXmlDoc.SelectNodes(XmlPathNode);
foreach (XmlNode node in list)
{
StringReader read= new StringReader(node.OuterXml);
ds.ReadXml(read);
}
return ds.Tables[0].DefaultView;
}
catch
{
return new DataView();
}
}
/// <summary>
/// 通过节点路径获取结果
/// </summary>
/// <param name="XmlPathNode">节点路径</param>
/// <returns>DataTable</returns>
public DataTable GetDataTable(string XmlPathNode)
{
DataSet ds = GetDataSet(XmlPathNode);
if (ds != null)
{
return ds.Tables[0];
}
return null;
}
/// <summary>
/// 返回DataSet
/// </summary>
/// <param name="XmlPathNode">节点路径</param>
/// <returns>DataSet</returns>
public DataSet GetDataSet(string XmlPathNode)
{
DataSet ds = new DataSet();
try
{
XmlNodeList list = objXmlDoc.SelectNodes(XmlPathNode);
foreach (XmlNode node in list)
{
StringReader read= new StringReader(node.OuterXml);
ds.ReadXml(read);
}
return ds;
}
catch
{
return null;
}
}
public void Replace(string XmlPathNode,string Content)
{
//更新節點內容。
objXmlDoc.SelectSingleNode(XmlPathNode).InnerText = Content;
}
public void Delete(string Node)
{
//刪除一個節點。
string mainNode = Node.Substring(0,Node.LastIndexOf("/"));
objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));
}
public void InsertNode(string MainNode,string ChildNode,string Element,string Content)
{
//插入一節點和此節點的一子節點。
XmlNode objRootNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);
objRootNode.AppendChild(objChildNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
objElement.InnerText = Content;
objChildNode.AppendChild(objElement);
}
public void InsertElement(string MainNode,string Element,string Attrib,string AttribContent,string Content)
{
//插入一個節點,帶一屬性。
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
objElement.SetAttribute(Attrib,AttribContent);
objElement.InnerText = Content;
objNode.AppendChild(objElement);
}
public void InsertElement(string MainNode,string Element,string Content)
{
//插入一個節點,不帶屬性。
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
objElement.InnerText = Content;
objNode.AppendChild(objElement);
}
public XmlNode GetNode(string Node)
{
try
{
XmlNode objNode = objXmlDoc.SelectSingleNode(Node);
return objNode;
}
catch(System.Exception e)
{
throw e ;
}
}
public string GetNodeAttribute(string Node,string Attribute)
{
try
{
XmlNode objNode = objXmlDoc.SelectSingleNode(Node);
return objNode.Attributes[Attribute].Value;
}
catch(System.Exception e)
{
throw e ;
}
}
public void Save()
{
//保存文檔。
try
{
objXmlDoc.Save(strXmlFile);
}
catch (System.Exception ex)
{
throw ex;
}
objXmlDoc = null;
}
}
// =========================================================
//
// 实例应用:
//
// string strXmlFile = Server.MapPath("TestXml.xml");
// XmlControl xmlTool = new XmlControl(strXmlFile);
// 數據顯視
// dgList.DataSource = xmlTool.GetData("Book/Authors[ISBN=\"0002\"]");
// dgList.DataBind();
// 更新元素內容
// xmlTool.Replace("Book/Authors[ISBN=\"0002\"]/Content","ppppppp");
// xmlTool.Save();
// 添加一個新節點
// xmlTool.InsertNode("Book","Author","ISBN","0004");
// xmlTool.InsertElement("Book/Author[ISBN=\"0004\"]","Content","aaaaaaaaa");
// xmlTool.InsertElement("Book/Author[ISBN=\"0004\"]","Title","Sex","man","iiiiiiii");
// xmlTool.Save();
// 刪除一個指定節點的所有內容和屬性
// xmlTool.Delete("Book/Author[ISBN=\"0004\"]");
// xmlTool.Save();
// 刪除一個指定節點的子節點
// xmlTool.Delete("Book/Authors[ISBN=\"0003\"]");
// xmlTool.Save();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -