0
点赞
收藏
分享

微信扫一扫

C#对XML操作:处理XML文件的类

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



http://space.zdnet.com.cn/html/77/246877-395.html



举报

相关推荐

0 条评论