现在的位置: 首页 > 综合 > 正文

XML操作类

2013年10月19日 ⁄ 综合 ⁄ 共 2648字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.