频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

简单实用的Xml解析类

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组
上一页 1 2 
 
  (1)CPacket::CreateElement("/Root/Cust/Tel")
会在根节点下创建Root/Cust/Tel 如果存在Root和Cust节点了则不在创建,否则会创建3个节点,Root,Cust,Tel 并且具有父子关系。
  (2)CPacket::CreateElement("Root/Cust/Tel")  会在当前节点下创建Root,Cust,Tel,至于当前节点,可以通过SetCurrentElement 来设置,默认根节点是当前节点. 3、节点的查找,节点的查找,有4个函数可以用:  CPacket::SearchElement(char * szNodeName);               //搜索普通节点,分绝对路径(路径以/开头),相对路径
  CPacket::SearchElement(char * szNodeName,char * szProper,char * szId); //指定属性
  CPacket::SearchNextElement(bool pMoveNext = TRUE);      //当前节点的下一个兄弟节点,参数决定向下移动当前节点,这个函数速度最快
  CPacket::SearchNextElement(char *szNodeName,char *szProper = NULL,char *szId = NULL); //下一个节点
整体使用示例:void main()
{
  string strXml = "";
  CPacket inPacket;
  DOMElement* TransNode = NULL;
  DOMElement* AccNode = NULL;
  inPacket.BuiltTree(strXml.c_str(),strXml.size());//生成DOM树结构.
 
  printf("%s",inPacket.GetXml(NULL).c_str());
  //MessageBox(inPacket.GetXml(NULL).c_str());
 
  AccNode = inPacket.SearchElement("/Xml/Body/TelNums/TelNum");
  if(!AccNode)
    return;
  inPacket.SetCurrentElement(AccNode);
 
  while(AccNode)
  {
  printf("%s",AccNode->getTextContent());
  MessageBox(AccNode->getTextContent());
  AccNode = inPacket.SearchNextElement(true);
  } 
 
 
  //注意因为当前节点已经不是根节点,因此如果是全局查找就要在节点名前加上"/" 的全局路径
  //AccNode = inPacket.SearchElement("/TelNum","Id","1"); 
  inPacket.ResetCurrentNode();
  AccNode = inPacket.SearchElement("TelNum","Id","1");
 
  printf("%s",AccNode->getTextContent());
  //MessageBox(AccNode->getTextContent());
 
  //创建XML文档
  CPacket outPacket;
  outPacket.SetRootTag("Root");
  AccNode = outPacket.CreateElement("/Root/Cust/Tel");
  AccNode->setTextContent("075507895461");
  printf("%s",outPacket.GetXml(NULL).c_str());
  //MessageBox(outPacket.GetXml(NULL).c_str());
 
 }

  当时写的时候仅仅是为了满足我自己使用的方便,很多复杂功能没有实现,代码测试也远远不够,问题很多,真有点怕误导大家,希望大家看后,能够重新写一份出来,供大家使用,有问题发邮件给我:mycrolee@163.com 原来的邮箱mycro@163.com 被一个LJ给盗了。永远BS这种渣滓。

通告:http://www.qqread.com/xml/g348216.html 更多文章 更多内容请看XML详解基础教程专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章