tinyxml

Runtime error with tinyXML element access

纵然是瞬间 提交于 2019-12-10 15:27:20
问题 yester day was my first attempt. I am trying to catch the variable "time" in the following "new.xml" file <?xml version="1.0" standalone=no> <main> <ToDo time="1"> <Item priority="1"> Go to the <bold>Toy store!</bold></Item> <Item priority="2"> Do bills</Item> </ToDo> <ToDo time="2"> <Item priority="1"> Go to the Second<bold>Toy store!</bold></Item> </ToDo> </main> Here is my code TiXmlDocument doc("new.xml"); TiXmlNode * element=doc.FirstChild("main"); element=element->FirstChild("ToDo");

Can TinyXml load Xml from string instead of file?

元气小坏坏 提交于 2019-12-09 05:11:58
问题 I'm using TinyXml library for my application but TiXmlDocument object just only can load Xml file. How can it load Xml from string. Could you tell me the way to do this. Thank you very much Tu. 回答1: Instead of calling TiXmlDocument::LoadFile() you can use TiXmlDocument::Parse() TiXmlDocument doc; doc.Parse((const char*)filedata, 0, TIXML_ENCODING_UTF8); Check DotScene Loader with User Data Class 来源: https://stackoverflow.com/questions/2862892/can-tinyxml-load-xml-from-string-instead-of-file

Should I use XPath or just DOM?

妖精的绣舞 提交于 2019-12-08 16:14:06
问题 I have a bunch of hierarchical data stored in an XML file. I am wrapping that up behind hand-crafted classes using TinyXML. Given an XML fragment that describes a source signature as a set of (frequency, level) pairs a bit like this: <source> <sig><freq>1000</freq><level>100</level><sig> <sig><freq>1200</freq><level>110</level><sig> </source> i am extracting the pairs with this: std::vector< std::pair<double, double> > signature() const { std::vector< std::pair<double, double> > sig; for

将“数据驱动”思想应用到cocos2d-x游戏Stop GMO

╄→гoц情女王★ 提交于 2019-12-07 16:25:12
1.首先,数据驱动是什么? 这个问题,我不敢回答,因为我也是刚刚从《游戏编程精粹1》这本书上了解到的,我并不完全了解它。关于数据驱动的介绍,可以参考《游戏编程精粹1》的第一章第一节(我不是来卖广告的...),或者参考以下地址: http://www.cnblogs.com/tadi314/archive/2010/03/11/1683795.html 不过,从它的介绍中可以看出,它至少可以减少使用硬编码,一定程度上分离逻辑与数据。 2.然后,Stop GMO是啥玩意? 如果不嫌弃,可以参考一下我的上一篇博文,里面有Stop GMO的介绍和代码地址等。简单来说,Stop GMO就是本菜鸟学习cocos2d-x时尝试编写的一个横版游戏(应该说,是山寨原版Stop GMO的一份劣质品)。 3.那么,数据驱动与Stop GMO有什么关系? 说实话,它们之间本来没有半毛钱关系。我现在时想将数据驱动的设计思想应用到Stop GMO,让它们有一点关系,好让我山寨的Stop GMO沾沾光... -----------------------------------------------我是分割线 ----------------------------------------------- 如果有哪位好心人可以忍住恶心读一读我那份写得很烂的Stop GMO的代码,就可以发现

tinyxml在MFC下使用问题

萝らか妹 提交于 2019-12-07 16:24:58
今天在MFC下使用tinyXML库出现了一些问题,差了一下,有些人遇到了和我差不多的问题, 主要是库的冲突,现在还不知道怎么弄,我想在MFC使用tinyXML去解析界面控件的属性现在估计 不能使用了,先还是找其他方法吧! 刚才编译成功了,设置Project-setting =>Using MFC in a shared DLL 禁止MSVCRTD.lib Project->Code Generation->Use run-time library=>Debug Multithreaded DLL 这样配置才编译成功,具体怎么使用还在摸索当中。 来源: oschina 链接: https://my.oschina.net/u/101842/blog/11349

wxWidgets利用tinyxml实现xml解析

独自空忆成欢 提交于 2019-12-07 02:57:10
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 最近正在做的一个项目里涉及到xml文件的存取,同事推荐的tinyxml++ ,是c++版本的xml解析包,据说很小巧,好用,于是download了一个下来.顺便在其官方主页上下载了premake.exe用来生成工程文件的.以下是premake的用法. Windows premake --target cb-gcc [--unicode] [--ticpp-shared] [--dynamic-runtime] Linux premake --target cb-gcc [--unicode] [--ticpp-shared] [--dynamic-runtime] 我这里是默认生成CodeBlocks for gcc的工程文档. 生成之后打开文件进行编译,得到两个文件.libticpp.a, libticppd.a 在需要用到的工程里链接就行了. 具体的编译配置网上已经有很多教程,不明白的可以去看. 先看看运行效果图 下面开始针对tinyxml编程. 1:新建一个xml文档 取名 config.xml,内容如下: <? xml version ="1.0" encoding ="UTF-8" ?> < ApplictionConfig > < RoNum > 0 </

C++ XML 解析器:tinyxml

社会主义新天地 提交于 2019-12-07 02:56:44
C++ XML 解析器: tinyxml 1) TinyXML-2 一个简单,轻量,高效的C++ XML 解析器,能够很容易得整合到其他程序。 TinyXML-2相比1,内存占用更少,读取更快,能更好得适应移动设备(Android)。 2) 准备 2.1) 源码 TinyXML-2源码放在了 GitHub 上,其为 zlib license 开源协议。 当前最新release版为: tinyxml2-2.1.0.tar.gz 。 2.2) 编译 tinyxml2-2.1.0/tinyxml2/目录下是工程文件。居然有C::B的cbp,其配置的GCC Compiler,Window上用MinGW即可。 TinyXML-2仅有三个文件:tinyxml2.h,tinyxml2.cpp是其核心代码;xmltest.cpp是其测试代码。 需要注意tinyxml2.h内的宏定义: ANDROID_NDK # for Android _WIN32 # for Win32 TINYXML2_EXPORT # 动态库导出 TINYXML2_IMPORT # 动态库导入 _DEBUG | DEBUG # debug 自行配置的话,若在Windows上生成dll,注意定义宏_WIN32,TINYXML2_EXPORT。链接其的工程最好加个宏TINYXML2_IMPORT,减去不必要的寻址。其对应内容如下

C++ 使用TinyXML解析XML文件

眉间皱痕 提交于 2019-12-07 02:56:32
读取和设置xml配置文件是最常用的操作,TinyXML是一个开源的解析XML的C++解析库,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。     下载TinyXML的网址: http://www.grinninglizard.com/tinyxml/   使用TinyXML只需要将其中的6个文件拷贝到项目中就可以直接使用了,这六个文件是: tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp。 https://www.cnblogs.com/xudong-bupt/p/3733306.html 来源: oschina 链接: https://my.oschina.net/u/3649283/blog/1858285

How to use TinyXml to parse for a specific element

别说谁变了你拦得住时间么 提交于 2019-12-07 00:23:08
问题 I would like to parse a group of elements out of a TinyXml output. Essentially, I need to pick out any port element's "portid" attribute of the port has a state of "open" (shown below for port 23). What's the best way to do this? Here's the (simplified) listing for the output from TinyXml: <?xml version="1.0" ?> <nmaprun> <host> <ports> <port protocol="tcp" portid="22"> <state state="filtered"/> </port> <port protocol="tcp" portid="23"> <state state="open "/> </port> <port protocol="tcp"

tinyXml处理UTF-8编码详解——写入和读取

百般思念 提交于 2019-12-06 12:41:29
tinyXml的特点是不对xml节点内容的具体编码处理,这一切都交给用户。因此tinyXml和字符有关的函数都是只接受char*的数据类型。 例如: TiXmlElement *pRoot=new TiXmlElement("test"); pRoot->SetAttribute("name","名字"); 上述代码产生的节点,如果用TiXmlDocument的SaveFile函数直接保存,只能是ANSI的本地编码(无论程序是否是unicode),即使TiXmlDeclaration指定为utf-8。一种方法是输出到TiXmlPrinter,将TiXmlPrinter.CStr()转换到utf-8编码的char*后保存。 char*在双字节编码下是一种很奇特的字符串,中文平台下的VC的编译器,char*可以存放GBK汉字,编译能正确识别字符,因为ASCII码的最高位为0,而GBK双字节字符的首字节最高位为1。 在使用utf-8字符串时,必须树立一个观念:utf-8应当只在传输时使用,不适合作为函数过程的处理对象。什么是传输场合?网络传输和文件读写。以文件读写为例,文件以utf-8编码存放,在读入到内存后,应当立刻转换为unicode宽字符串。程序的内部处理过程中只有unicode宽字符串。直到写入文件时,unicode宽字符串才转换为utf-8字符串。 utf