C++ tinyXML使用

时间:2021-09-18 06:12:55

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自带的文档