C++ tinyXML使用
tinyXML下载:
http://sourceforge.net/projects/tinyxml/
加载到项目:
这六个文件添加到你的c++工程中,分别是tinystr.h、tinystr.cpp、tinyxml.h、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp
添加头文件
#include "tinyxml.h"
使用:
_bstr_t errorWords;
TiXmlDocument pXmlDoc;
TiXmlDeclaration pDeclaration;
pDeclaration.Parse( "<?xml version='1.0' encoding='UTF-8'?>", 0, TIXML_ENCODING_UNKNOWN );//插入头
pXmlDoc.InsertEndChild(pDeclaration);
TiXmlElement xElement("proof-result");
TiXmlElement errorElement("error-result");
TiXmlElement errorLevelElement("error");
errorLevelElement.SetAttribute("level",szLevel);//设置节点属性
TiXmlText  levelText(m_pCheckResult[i].ErrWord);
levelText.SetCDATA(true);//设置DATA属性
errorLevelElement.InsertEndChild(levelText);
errorElement.InsertEndChild(errorLevelElement);
TiXmlElement replaceElement("replace");
TiXmlText  replaceText(errorWords);
replaceText.SetCDATA(true);
replaceElement.InsertEndChild(replaceText);//插入文本
errorElement.InsertEndChild(replaceElement);
TiXmlElement positionElement("position");
TiXmlText  szLevelText(errorWords);
positionElement.InsertEndChild(szLevelText);
errorElement.InsertEndChild(positionElement);
TiXmlElement source_sentenceElement("source_sentence");
TiXmlText  sentenseText(sentense);
sentenseText.SetCDATA(true);
source_sentenceElement.InsertEndChild(sentenseText);
errorElement.InsertEndChild(source_sentenceElement);
xElement.InsertEndChild(errorElement);
TiXmlElement leader_sort_errorsElement("leader_sort_errors");
leader_sort_errorsElement.SetAttribute("count",szCount);
TiXmlText  szLeaderBufferText((const char*)szLeaderBuffer);
szLeaderBufferText.SetCDATA(true);
leader_sort_errorsElement.InsertEndChild(szLeaderBufferText);
xElement.InsertEndChild(leader_sort_errorsElement);
pXmlDoc.InsertEndChild(xElement);//插入根节点
//获得生成的xml字符串
TiXmlPrinter printer;
printer.SetStreamPrinting();
pXmlDoc.Accept( &printer );
_bstr_t bstrOutPutSentense(printer.CStr());
其他:
可以查看tinyXML自带的文档
C++ tinyXML使用的更多相关文章
- tinyXML的用法
		
tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到你 ...
 - tinyxml一个优秀的C++ XML解析器
		
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...
 - C++库(TinyXML)
		
C++库(TinyXML) 什么是XML? "当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用来结构化文 ...
 - tinyXML的用法,用于解析gpx文件
		
tinyxml是一个开源的C++xml解析工具集,简单.轻量而又高效,所以对于处理xml文件是一个非常不错的选择. 由于它开源,所以可以方便地免费下载,下载地址百度一下很容易找到,这里就不多说了. 下 ...
 - tinyxml学习4
		
tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到你 ...
 - tinyxml学习5
		
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...
 - tinyxml学习一
		
在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类. TiXmlAttribute:对应于XML中的元素的属性. ...
 - tinyxml学习2
		
在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类. TiXmlAttribute:对应于XML中的元素的属性. TiXmlNode:对应于DO ...
 - TinyXML:一个优秀的C++ XML解析器
		
//-------------------------------------------------------------------------------------------------- ...
 
随机推荐
- UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
			
最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...
 - Oracle 数据库语句大全
			
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
 - [转载]一个标准java程序员的进阶过程
			
第一阶段:Java程序员 技术名称 内 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...
 - HTML学习笔记
			
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
 - Stack Overflow 排错翻译  - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder
			
Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ...
 - IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效  ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页
			
因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...
 - Merge Sorted Array
			
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
 - Joshua Bloch错了? ——适当改变你的Builder模式实现
			
注:这一系列都是小品文.它们偏重的并不是如何实现模式,而是一系列在模式实现,使用等众多方面绝对值得思考的问题.如果您仅仅希望知道一个模式该如何实现,那么整个系列都会让您失望.如果您希望更深入地了解各个 ...
 - [DeviceOne开发]-土地销售项目源码分享
			
一.简介 这个是一个真实项目开源,虽然不是很花哨,但是中规中矩,小细节处理的也很好,非常值得参考和借鉴.里面的数据都缓存到本地,可以离线运行,但是调整一下代码,马上就可以和服务端完全对接.后续会有详细 ...
 - ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程
			
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...