0
点赞
收藏
分享

微信扫一扫

XQilla2.3.2读取整个xml

冬冬_79d4 2022-07-27 阅读 16


一,读取整个xml。

#include <iostream>

#include <xqilla/xqilla-simple.hpp>

#include <xqilla/runtime/Sequence.hpp>

//...

int main(int argc, char *argv[])

{

XQilla xqilla;//构造函数中初始化Xerces-C,析构函数中释放

//获取环境

DynamicContext* context = XQilla::createContext();

//加载文件到队列

Sequence seq = context->resolveDocument(X("foo.xml"));

//获取整个第一个结点(整个xml文件),并转化成const char*

const Item::Ptr ptr = seq.first();

const XMLCh* xmlp= ptr->asString(context);

UTF8Str utf8str(xmlp);

const char* p = utf8str.str();


return 0;

}


二,如果foo.xml不存在,报错。

void readXml() try

{

//获取环境

DynamicContext* context = XQilla::createContext();

//加载文件到队列

Sequence seq = context->resolveDocument(X("foo.xml"));

//获取整个第一个结点(整个xml文件),并转化成const char*

const Item::Ptr ptr = seq.first();

const XMLCh* xmlp= ptr->asString(context);

UTF8Str utf8str(xmlp);

const char* p = utf8str.str();

}

catch(XQException& e)

{

std::cout << "错误源文件" << e.getCppFile() << std::endl << "错误行数" << e.getCppLine() << std::endl ;

std::cout << "错误原因" << UTF8Str(e.getError()).str() << std::endl ;

}


int main(int argc, char *argv[])

{

XQilla xqilla;//构造函数中初始化Xerces-C,析构函数中释放

readXml();

}

举报

相关推荐

0 条评论