public class XmlControl { protected string strXmlFile; protected XmlDocument objXmlDoc = new XmlDocument();
public XmlControl(string XmlFile) { // // TODO: 在這裡加入建構函式的程式碼 // try { objXmlDoc.Load(XmlFile); } catch (System.Exception ex) { throw ex; } strXmlFile = XmlFile; }
public DataView GetData(string XmlPathNode) { //查找數據。返回一個DataView DataSet ds = new DataSet(); StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml); ds.ReadXml(read); return ds.Tables[0].DefaultView; }
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 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();
[C语言系列]NET 中C#的switch语句的语法 [Web开发]XML与HTML在语法上的主要区别详解 [系统软件]托拽Explore中的文件到VB.net的窗口 [系统软件]如何让Expat支持中文XML [系统软件]Boost库在XP+Visual C++.net中的安装 [常用软件]新配色面板:Paint.Net3.0RC1官方下载 [常用软件]用内建的“Net Meeting”聊天 [VB.NET程序]Henry的VB.NET之旅(三)—共享成员 [VB.NET程序]Henry的VB.NET之旅(二)—构造与析构 [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
|