欢迎来到山村网

XML操作类

2019-03-02 11:06:53浏览:896 来源:山村网   
核心摘要:  public class XmlControl  {  protected string strXmlFile;  protected XmlDocument objXmlDoc = new XmlDocument();

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

(责任编辑:豆豆)
下一篇:

网站如何设计用户密码重设功能

上一篇:

css white-space:nowrap属性用法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com