[ASP.net(C#)]XML操作类(一)

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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();

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航