TinyXml从内存中解析,并保存到内存
来源:互联网 发布:淘宝诈骗报警能找回 编辑:程序博客网 时间:2024/06/05 17:39
网上介绍TinyXml的例子很多,所以不用再介绍了。最近也需要解析XML,从网上找了一下,发现TinyXml是最合适的。
TinyXml同时支持Windows和Linux平台,而且它很小巧,功能也全面,包括对XML各种特性的操作。
不过美中不足,虽然网上的应用实例很多,但是大部分都是从文件中解析和把数据保存到文件中的。而我需要的是解析内存中的数据,并且需要把数据保存到内存中。
TinyXml的在线帮助文档URL:http://www.grinninglizard.com/tinyxml2docs/index.html
首先要提一下,TinyXml把Xml数据里面的标签、属性、声明、注释、值等都看做是“节点”,体现在数据结构里就是TiXmlNode。
因为条件限制,现在不能做测试用例,就把用法写一下吧,希望对大家有帮助。
从内存中加载数据:
const char *cszXml = "<?xml version="1.0"?><BOOK><BOOKNAME>XML</BOOKNAME></BOOK>";TiXmlDocument doc;doc.Parse(cszXml);if (true == doc.Error()){cout << "Parse XML data error: " << doc.ErrorDesc() << endl;return;}
将数据保存到内存中:
TinyXml可以将数据保存到文件,也可以打印到屏幕上,当然,也可以直接保存到内存中,其实也是应用的它的打印功能。
extern TiXmlDocument doc;//! XML文档extern char szXml[];//! 存放结果字符串TiXmlPrinter printer;printer.VisitEnter(doc);// printer.SetIndent("");//! 设置每行开头的标识符,默认是4个空格// printer.SetLineBreak("");//! 设置行分隔符,默认"\r\n"// !上面两行可以用这一行替代printer.SetStreamPrinting();//! 设置开头的标识符为"",行分隔符为""sprintf(szXml, printer.CStr());//! 将结果保存到szXml中,C风格字符串//! int nSize = printer.Size();//! 字符串长度
顺便捎带一句:
判断一个标签是否有子标签:
extern TiXmlElement xmlElem;if (xmlElem.FistChildElement() ){ // TODO: 有子标签}else{ // TODO: 没有子标签}
GAME OVER!
写的很简单,不过希望对大家有用。- TinyXml从内存中解析,并保存到内存
- 采用dom4j解析所有的元素并打印和保存到内存中
- android网络编程--从网络下载图片,并保存到内存卡
- tinyxml解析内存中的字符串缓冲区
- 安卓使用Camera实现拍照并保存到内存卡中
- 安卓使用Camera实现拍照并保存到内存卡中
- python获取系统内存、CPU、磁盘、平均负载信息并保存到数据库中
- 保存文件到内存
- 从内存中加载并运行(一)
- 从内存中加载并运行(二)
- 从内存中加载并运行exe
- 从内存中加载并运行exe
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- 缩放图片并加载到内存中
- 缩放图片并加载到内存中
- 从文件中读取数组到内存
- 从文件中加载数据到内存
- android中实现内存中数据保存到sdcard
- POJ 1459 Power Network 网络流基础题
- SQL 学习之一
- 删除.svn文件夹
- CG_INLINE,inline 内联函数
- java垃圾回收
- TinyXml从内存中解析,并保存到内存
- load data local infile 与 load data infile 的区别与注意事项
- 契约(基础)
- 字符串旋转问题——来自编程珠玑
- 学习SAP HANA 数据类型(SAP HANA DATA TYPES)--像学Oracle一样学习SAP HANA
- android应用程序的组成(组织结构)
- SQL Server 2008 (R2) 单机版安装的先决条件
- sort函数 使用于杭电1106
- 盗版软件的另一种理解