XML操作类

时间:2016.04.30 发布人:iyxino

XML操作类

已解决问题

谷歌iyxino用户在2016.04.30提交了关于“奇瑞风云2XML操作类”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-11-13T10:11:31。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你无异于雪中送炭,让我感激涕零 !

希望以下的回答,能够帮助你。

第1个回答

用户名:f876124636  

  331215问答publicclass此办XmlControl

  {

  protectedstringstrXmlFile;

  protectedXmlDocumentobjXmlDo论课真困客容怎c=newXmlDocument();

  publicXmlControl(stri种妈福官挥ngXmlFile)

  {

  //

  //TODO:在这里加入建构函式的程序代码

  //

  try

  {

  objXmlDoc.Load(XmlFile);

  }

  catch(Sy势移及总元务剂stem.Exceptionex)

  {

  throwex;

  }

  strXmlFile=XmlFile;

  }

  p受迅静丰次解ublicDat**iewG显主般听总均练吗etData(stringXmlPathNode)

  {

  //查找**。返回一个Dat**九标iew

  DataSetds=newDataSet();

  StringReaderread=newStringReader(objXmlDoc伤握构集掉班理乎升.SelectSi始搞张若始ngleNode(XmlP定毛前镇个使烟加怀athNode).Ou始互准船terXml);

  d请s.ReadXml(read);

  returnds.Ta亚投念势穿脱能列支bles[0].DefaultView;

  }

  publicvoidReplace(stringXmlPathNode,stringContent)

  {

  //更新节点内容怎章副十呢同前冷况须日。

  objXmlDoc.SelectSingleNode(XmlPathNode).InnerText=Content;

  }

  publicvoidDelete(stringNode)

  {

  //删除一个节点。

  stringmainNode=Node征顺钢升输款料善乐.Substring(0,Node.LastIndexOf("/"));

  objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));

  }

  publicvoidInsertNode(stringMainNode,stringChildNode,stringElement,stringContent)

  {

  //插入一节点和此节点的一子节点。

  XmlNodeobjRootNode=objXmlDoc.SelectSingleNode(MainNode);

  XmlElementobjChildNode=objXmlDoc.CreateElement(ChildNode);

  objRootNode.AppendChild(objChildNode);

  XmlElementobjElement=objXmlDoc.CreateElement(Element);

  objElement.InnerText=Content;

  objChildNode.AppendChild(objElement);

  }

  publicvoidInsertElement(stringMainNode,stringElement,stringAttrib,stringAttribContent,stringContent)

  {

  //插入一个节点,带一属性。

  XmlNodeobjNode=objXmlDoc.SelectSingleNode(MainNode);

  XmlElementobjElement=objXmlDoc.CreateElement(Element);

  objElement.SetAttribute(Attrib,AttribContent);

  objElement.InnerText=Content;

  objNode.AppendChild(objElement);

  }

  publicvoidInsertElement(stringMainNode,stringElement,stringContent)

  {

  //插入一个节点,不带属性。

  XmlNodeobjNode=objXmlDoc.SelectSingleNode(MainNode);

  XmlElementobjElement=objXmlDoc.CreateElement(Element);

  objElement.InnerText=Content;

  objNode.AppendChild(objElement);

  }

  publicvoidS**e()

  {

  //保存文檔。

  try

  {

  ***.S**e(strXmlFile);

  }

  catch(System.Exceptionex)

  {

  throwex;

  }

  objXmlDoc=**ll;

  }

  }

  =========================================================

  实例应用:

  stringstrXmlFile=Server.MapPath("TestXml.xml");

  XmlControlxmlTool=newXmlControl(strXmlFile);

  //**显视

  //dgList.DataSource=xmlTool.GetData("Book/Authors[ISBN=/"0002/"]");

  //dgList.DataBind();

  //更新元素内容

  //xmlTool.Replace("Book/Authors[ISBN=/"0002/"]/Content","ppppppp");

  //***.S**e();

  //添加一个新节点

  //xmlTool.InsertNode("Book","Author","ISBN","0004");

  //xmlTool.InsertElement("Book/Author[ISBN=/"0004/"]","Content","aaaaaaaaa");

  //xmlTool.InsertElement("Book/Author[ISBN=/"0004/"]","Title","**","man","iiiiiiii");

  //***.S**e();

  //删除一个指定节点的所有内容和属性

  //xmlTool.Delete("Book/Author[ISBN=/"0004/"]");

  //***.S**e();

  //删除一个指定节点的子节点

  //xmlTool.Delete("Book/Authors[ISBN=/"0003/"]");

  //***.S**e();