需要这么几个库,直接放在你的代码工程里即可:

#include "rapidxml.h"

#include "rapidxml_utils.h"

int ReBornBossConf::loadConf(const char* szFileName){
rapidxml::file<char> fdoc(szFileName);
rapidxml::xml_document<char> doc;
doc.parse<0>(fdoc.data());
//! 获取根节点
rapidxml::xml_node<>* root = doc.first_node();
//活动开启结束配置
rapidxml::xml_node<>* pXmlRoot = root->first_node();
rapidxml::xml_node<>* pXmlNode = pXmlRoot->first_node();attack_start_day = atoi(pXmlNode->first_attribute("attack_start_day")->value());
attack_start_hour = atoi(pXmlNode->first_attribute("attack_start_hour")->value());
attack_end_day = atoi(pXmlNode->first_attribute("attack_end_day")->value());
attack_end_hour = atoi(pXmlNode->first_attribute("attack_end_hour")->value());
auction_end_day = atoi(pXmlNode->first_attribute("auction_end_day")->value());
auction_end_hour = atoi(pXmlNode->first_attribute("auction_end_hour")->value());
freetimes = atoi(pXmlNode->first_attribute("freetimes")->value());freecd    = atoi(pXmlNode->first_attribute("freecd")->value());
//boss属性配置
pXmlNode = pXmlRoot->next_sibling();
for (rapidxml::xml_node<>* pChildNode = pXmlNode->first_node(); pChildNode != NULL; pChildNode = pChildNode->next_sibling())
{
BossAttrsConf bac;
uint32_t starid=0;
uint32_t starnum=0;bac.groupid= atoi(pChildNode->first_attribute("groupid")->value());
bac.npcid= atoi(pChildNode->first_attribute("npcid")->value());
starid = atoi(pChildNode->first_attribute("aid")->value());
starnum = atoi(pChildNode->first_attribute("anum")->value());
bac.conditions.insert(std::make_pair(starid, starnum));
this->bossAttrs.insert(std::make_pair(bac.groupid,bac));
}
pXmlNode = pXmlNode->next_sibling();
for (rapidxml::xml_node<>* pChildNode = pXmlNode->first_node(); pChildNode != NULL; pChildNode = pChildNode->next_sibling())
{
AuctionGoodsConf agc;
agc.itemid= atoi(pChildNode->first_attribute("itemid")->value());
agc.startprice= atoi(pChildNode->first_attribute("startprice")->value());
agc.addstep = atoi(pChildNode->first_attribute("addstep")->value());
this->auctionGoods.insert(std::make_pair(agc.itemid,agc));
}
return 0;
}

高效解析xml的总结,闲下来写的相关推荐

  1. 三种高效解析xml方式

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...

  2. delphi解析xml

    delphi解析xml //解析xml (自己做的时候写的,仅供参考) ComXML := LoadXMLData(jmxml); XMLNode := ComXML.DocumentElement; ...

  3. 精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠,运行速度飞快

    来源于:http://www.ej38.com/showinfo/c-xml-169407.html 供各位参考 精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠 ...

  4. 高效的XML解析与组装-fasterxml

    高效的XML解析与组装-fasterxml 写在前面 初步的解析工具选择-XStream fasterxml的使用 请求XML pom.xml 报文的实体类定义 组装以及解析工具 后记 写在前面 最近 ...

  5. 高效的Xml解析工具

    前言 大家在工作中不知道有没有遇到过类似的情况: 1.需要写代码解析一个xml文件时,发现需要导入dom4j的jar包,一时又找不到,然后还得浪费几分钟时间去找jar包. 2.好不容易找到了jar包, ...

  6. java解析xml的几种方式

    java解析xml的几种方式 博客分类: java基础备忘-好记性不然烂笔头 XMLJava应用服务器数据结构编程  第一种:DOM. DOM的全称是Document Object Model,也即文 ...

  7. Dom4j解析XML(详解)

    1.XML解析的方式介绍 在日常开发中常见的XML解析方式有如下两种: 1.DOM解析 DOM解析要求解析器将整个XML文件全部加载到内存中,生成一个Document对象. 1.优点:元素和元素之间保 ...

  8. Java - Dom4J解析XML

    1.XML解析的方式 DOM: 要求解析器将整个XML文件全部加载到内存中,生成一个Document对象 1.优点:元素和元素之间保留结构,关系,可以针对元素进行CURD操作. 2.缺点:如果XML文 ...

  9. XML及使用dom4j解析XML

    XML(Extensible Markup Language)表示可扩展的标记语言 XML的标签没有被预定义,也就是说不是固定的,用户可以根据自身的需求去自定义标签 XML的作用主要是用来存储数据和传 ...

最新文章

  1. IE6中PNG图片背景无法透明显示的最佳解决方案
  2. 有理数的小数表示若无限,则必为无限循环的
  3. 怎么写脚本_直播脚本怎么写|请收下这份攻略
  4. Maven依赖管理和插件配置
  5. 深入分析事务的隔离级别
  6. SHELL脚本之自动化安装通用二进制格式MariaDB
  7. python安装dlib要cmake,如何使用cmake解决dlib错误?
  8. 解除Linux最大进程数和最大文件句柄打开数限制
  9. mysql自学完整_MySQL自学篇_MySQL
  10. 单片机c语言延时1ms函数,单片机c语言延时函数用int与char有延时差吗?
  11. 如何彻底卸载3dmax2020_完全卸载3DMAX的方法
  12. unity webgl获取页面Token信息,及加载StreamingAssets下.txt
  13. 产品读书《粉丝经济:传统企业转型互联网的突破口》
  14. 最大子序和(动态规划实现)
  15. 格式化硬盘并安装Win10和Ubuntu双系统
  16. 日常英语单词 - 足球
  17. 【阿里聚安全·安全周刊】战斗民族黑客入侵德国政府|“猫脸识别”门禁
  18. 使用ssh连接服务器
  19. 姜春宇:政务大数据标准化现状和趋势
  20. 【单页面博客从前端到后端】基于 DVA+ANTD 搭建博客前后台界面

热门文章

  1. A5D2应用程序无法启动问题
  2. 设计模式C++实现(3)——建造者模式
  3. unity镜头边缘羽化_【后期修图】如何利用Ps中的自适应广角滤波器校正镜头失真?...
  4. arcgis获取栅格对应栅格值
  5. 【转】四、关于如何使用软件库的一个技巧-避免重复配置属性表
  6. Sharepoint学习笔记—ECM系列--4 根据位置设置的默认元数据值(Location-Based Metadata Defaults)
  7. 渗透技巧——利用netsh抓取连接文件服务器的NTLMv2 Hash
  8. 新手前端练手网站_编程到底难不难学?新手入门选择哪种语言好?
  9. PWN-PRACTICE-BUUCTF-3
  10. win7和mysql乱码,win7 mysql中文乱码怎么处理