萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 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();

copyright © 萬盛學電腦網 all rights reserved