展会信息港展会大全

XML操作类 添加删除节点 更新元素内容
来源:互联网   发布日期:2016-01-19 12:57:14   浏览:1153次  

导读:public class XmlControl { protected string strXmlFile; protected XmlDocument objXmlDoc = new XmlDocument(); public XmlControl(string XmlFile) { TODO: 在这里 ...

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

赞助本站

人工智能实验室

相关热词: XML 添加删除 节点

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港