CB使用TINYXML类库进行XML操作
来源:互联网 发布:handler 闹钟 源码 编辑:程序博客网 时间:2024/06/08 19:28
由于看到网上对C++下的xml类库中tinyxml的评价比较好,因此,在最近的一个项目里上手使用了一下,发现该类对XML操作的封装的确不错。
首先贴上要操作的XML内容
<root>
<result>1</result><resultmsg>当result节点为0时,该节点为错误消息,否则为空</resultmsg>
<filenum>2</filenum>
<files>
<filename>Report\2015001011\2015001011-张三-11002.pdf</filename>
<filename>Report\2015001011\2015001011-张三-11003.pdf</filename>
</files>
</root>
然后,新建一个CB工程,将tinystr.h,tinystr.cpp,tinyxml.cpp,tinyxml.h以及tinyxmlparser.cpp文件添加到工程中,然后修改tinyxmlparser.cpp中的SetError函数,将其直接返回,否则链接的时候会提示无法链接上tinyxml.h中的errorinfo数组。
然后在工程的主界面CPP文件中,打开xml文件进行操作
void __fastcall TForm1::btn1Click(TObject *Sender)
{
TiXmlDocument *myDocument = new TiXmlDocument("c:\\SB.xml");
if(myDocument != NULL)
{
myDocument->LoadFile();
TiXmlElement * RootEle = myDocument->RootElement();
if(RootEle != NULL)
{
TiXmlElement * successnode = RootEle->FirstChildElement();
if(successnode)
{
AnsiString sSuccess = successnode->GetText();
TiXmlElement* eleErrorMsg = successnode->NextSiblingElement();
if(sSuccess == "0")
{
ShowMessage(eleErrorMsg->GetText());
}
else
{
TiXmlElement* eleFileNum = eleErrorMsg->NextSiblingElement();
if(eleFileNum)
{
int nFileNum = StrToInt(eleFileNum->GetText());
TiXmlElement* eleFiles = eleFileNum->NextSiblingElement();
TiXmlElement* eleFile = eleFiles->FirstChildElement();
for(int i = 0; i < nFileNum; i++)
{
AnsiString sFilePath = sFilePath = eleFile->GetText();
eleFile = eleFile->NextSiblingElement();
}
}
}
}
}
}
myDocument->Clear();
delete myDocument;
}
//---------------------------------------------------------------------------
封装好的效果和C#中的XMLDOCUMENT类十分接近,使用起来很方便。
- CB使用TINYXML类库进行XML操作
- c++ 使用 tinyxml中对XML文件进行操作
- C++使用tinyXML操作XML
- 使用tinyxml进行XML文件解析
- 使用TinyXML进行C++ XML解析
- 使用TinyXml对XML进行遍历
- VS中使用TinyXml操作xml文件
- VS中使用TinyXml操作xml文件
- VS中使用TinyXML操作xml文件
- 使用TinyXML进行xml文件解析,生成xml文件
- tinyxml 简单的xml操作类
- TinyXml 操作XML 常用操作
- 使用TinyXML解析XML
- 使用tinyxml生成xml
- c++学习之利用tinyxml库进行对xml解析
- TinyXML 库解析XML
- 基于TinyXml编写的Xml文档操作类
- XML解析模型(TinyXml使用)
- Spring学习笔记
- CSDN开博第一篇
- Crimewave - UVa 563 dinic网络流
- Service个人笔记2(aidl)
- 免费馅饼(天上掉馅饼)
- CB使用TINYXML类库进行XML操作
- SpringMVC学习笔记
- ListView+EditText
- MATLAB 常用转义字符
- Spring+SpringMVC+Mybatis整合
- Mutex和内存可见性
- poj1316 Self Numbers
- android系统与mcu串口通信的实现
- Mybatis学习笔记