xerces-c-src_2_8_0安装&开发文档

来源:网络收集 打印文章内容   下载WORD版到本地  

Xerces-c-src_2_8 安装 开发文档 安装&开发文档 一、 安装................................................................................................................................... 2 下载........................................................................................................................................... 2 编译源码库............................................................................................................................... 2 二、 实际开发指南................................................................................................................... 2 1 初始化平台:....................................................................................................................... 2 2 销毁平台:........................................................................................................................... 3 3 加载分析报文....................................................................................................................... 3 4 数据格式转换....................................................................................................................... 3 5 分析报文后,如何得到文档的树型结构 ........................................................................... 3 6 得到树型结构后,如何得到第一个根节点 ....................................................................... 3 7 如何遍历文档的结构 ........................................................................................................... 4 A. 使用 DOMNodeIterator 类 ..................................................................................... 4 B. 使用 DOMTreeWalker 类 ....................................................................................... 4 C. 使用子节点直接遍历树型结构 ............................................................................... 4 8 如何添加子节点。

............................................................................................................... 5 9 加载方式............................................................................................................................... 5 D. String xmlfile = “a.xml”;........................................................................................... 5 E. MemBufInputSource ................................................................................................. 5 10 在加载分析报文前,可以设置 XercesDOMParser 的一些属性。

............................... 6 11 我们也可以设置错误的处理代码。

................................................................................. 6 12 也可以设置分析过滤的属性 ............................................................................................. 6 13 要美化文档的格式化输出,我们可以使用 ..................................................................... 6 14 xml 输出 .............................................................................................................................. 6 15 更多参考资料:.................................................................................................................... 6

一、 安装 下载 windows、linux、cygwin, 以及 solaris 等系统平台。

在这里,我选用的是 Redhat Enterprise Linux AS3, 选 用 的 Xerces-C++ 是 xerces-c-src_2_8_0.tar.gz , 可 以 从 官 方 网 站 : http://www.apache.org/ 直接下载。

编译源码库 编译源码库 由于下载下来的是源码,所以需要对其进行编译,否则我们无法加载库文件。

首先进入你的工作目录:cd /home/soft/ 然后解压你的源码包: tar zxvf xerces-c-src_2_8_0.tar.gz 设置包含源代码的环境变量: export XERCESCROOT=/home/soft/xerces-c-src_2_8_0 进入目录:cd xerces-c-src_2_8_0/src/xercesc 运行脚本生成 makefile 文件: ./runConfigure -plinux -cgcc -xg++ -C--prefix=/opt/ApacheXML 选项: -p 为操作系统平台 -c C 编译器 -x C++编译器 -c 库的配置路径 编译源码:make make install (编译可能要花费你好一会儿,在 41 机器上花费大约 2 分钟的时间,所以要耐心等候) 实际开发指南 二、 实际开发指南 1 初始化平台: 初始化平台: XMLPlatformUtils::Initialze() 例子代码:

Try { XMLPlatformUtils::Initialize(); } catch (const XMLException& toCatch) { char* message = XMLString::transcode(toCatch.getMessage()); std::cout << "Error during initialization! :\n" << message << "\n"; XMLString::release(&message); return false; } 2 销毁平台: 销毁平台: XMLPlatformUtils::Terminate(); 3 加载分析报文 XercesDOMParser *parser = new XercesDOMParser(); Parser->parse( 参数 ); 这个参数可以直接是文件名, 也可以是内存的数据, 具体的查看 API 4 数据格式转换 XMLString.transcode() 这个方法有多个重载, 既可以把 XMLCh * 格式的数据转换成 char * 的数据,也可以把 char * 的数据转换成 XMLCh *, 我们也可以利用这个函数来初始化 XMLCh 格式类型的数组,比如 XMLCh temp[100]; XMLString.transcode(“LS”,temp,99);// 用“ LS ”初始化 temp 这个数组的 内容。

5 分析报文后,如何得到文档的树型结构 分析报文后, DOMDocument *xmlDoc = parser->getDocument(); 6 得到树型结构后,如何得到第一个根节点 得到树型结构后, DOMElement *root = xmlDoc->getDocumentElement();

7 如何遍历文档的结构 遍历一个树型的文档结构有三种方法。

A. 使用 DOMNodeIterator 类 DOMNodeIterator *iterator = xmlDoc->createNodeIterator(root, DOMNodeFilter::SHOW_TEXT, NULL, true); for ( DOMNode * current = (DOMNode *)iterator->nextNode(); current != 0; current = (DOMNode *)iterator->nextNode() ) { string strValue = XMLString::transcode(current->getNodeValue()); std::cout <

B. 使用 DOMTreeWalker 类 DOMTreeWalker *walker = xmlDoc->createTreeWalker(root, DOMNodeFilter::SHOW_TEXT, NULL, true); f or (DOMNode *current = walker->nextNode(); current != 0; current = walker->nextNode() ) { char *strValue = XMLString::transcode( current->getNodeValue() ); std::cout <getDocumentElement(); // 下面开始遍历这个树的结构 if(n) { if (n->getNodeType() == DOMNode::ELEMENT_NODE) { DOMNodeList* nodeList = n->getChildNodes(); unsigned int nListLen = nodeList->getLength(); for (unsigned int i=0; iitem(i); if (nodeTemp->getNodeType() == DOMNode::ELEMENT_NODE) { for (DOMNode* node1=nodeTemp->getFirstChild(); node1=node1->getNextSibling()) node1!=0;

{ char* name = XMLString::transcode(node1->getNodeName()); string strTemp = name; if (strTemp == "name") // 这个就是跟 xml 文档中 name 节点匹配 { char* myname=XMLString::transcode(node1->getFirstChild()->getNodeValue()); cout<

如何添加子节点。

//Add new (empty) Element to the root element DOM_Element parentNode = …;// parent is known DOM_Element prodElem = doc->createElement (tagName); parentNode->appendChild (prodElem); 9 加载方式 在加载 xml 文件分析前,有两种加载方式:一种直接通过文件加载,一种是通过内存加载 D. String xmlfile = “a.xml”; Parser->parse(xmlfile.c_str()); E. MemBufInputSource 这个类处理内存的数据, 然后利用 parser->parse(*men)//men 是 MemBufInputSource 的实 例指针对象。

例子代码: MemBufInputSource* pInputSource = new MemBufInputSource((XMLByte *)srcBytes.c_str(), srcBytes.size(), X("GUID")); bool errorsOccured = false;

10 在加载分析报文前,可以设置 XercesDOMParser 的一些 在加载分析报文前, 属性。

属性。

P arser->setValidationScheme( XercesDOMParser::Val_Auto ); Parser->setDoNamespaces( false ); Parser->setDoSchema( false ); Parser->setLoadExternalDTD( false ); // 这个部分的代码可以参照类库自带的例子。

11 我们也可以设置错误的处理代码。

我们也可以设置错误的处理代码。

这部分可以查看类库下的 DOMPrint 例子。

DOMError ,DOMErrorHandler 12 也可以设置分析过滤的属性 DOMNodeFilter 这个类能起到这个效果 13 要美化文档的格式化输出,我们可以使用 要美化文档的格式化输出, XMLFormatter XMLFormatTarget , 用的时候可以查看。

14 xml 输出 我们也可以通过 DOMImplementationLs , DOMImplementation 前者是后者的基类。

通过这 个类我们可以创建 DOMBuilder ( parser )或 DOMWriter (序列,既可以写到屏幕,也 可以写到文件) 15 更多参考资料 更多参考资料: http://xerces.apache.org/xerces-c/apiDocs/index.html http://www.ibm.com/developerworks/cn/xml/x-xercc2/index.html http://www.cnb.com/lirengang/articles/623863.html http://www.cppblog.com/true/archive/2007/03/15/19900.html http://hi.baidu.com/fx0517/blog/item/258f12d53c32c651da4bb3.html http://blog.csdn.net/kybd2006/archive/2007/09/28/1805106.aspx http://www.ctiforum.com/train/intel/application/application01_013.htm

  • Domino8.0安装文档

    Domino8.0安装文档

    Domino8.0安装文档...

    贡献者:网络收集
    314726
  • VMWare8.0.2下安装CentOS6.0文档

    VMWare8.0.2下安装CentOS6.0文档

    VMWare8.0.2下安装CentOS6.0文档...

    贡献者:网络收集
    678679
  • TD 8.0 安装和维护说明文档

    TD 8.0 安装和维护说明文档

    TD 8.0 安装和维护说明文档...

    贡献者:网络收集
    969865
  • Xerces-C++ DOM编程指南(二)

    Xerces-C++ DOM编程指南(二)

    Xerces-C++ DOM编程指南(二)...

    贡献者:网络收集
    277946
  • CwRsync 4.0.2 安装配置文档

    CwRsync 4.0.2 安装配置文档

    CwRsync 4.0.2 安装配置文档...

    贡献者:网络收集
    29726
  • Maxcms2.8  3.0完整标签说明文档

    Maxcms2.8 3.0完整标签说明文档

    Maxcms2.8 3.0完整标签说明文档...

    贡献者:网络收集
    489146
  • Redhat3+Oracle9.2.0.4.0安装文档1

    Redhat3+Oracle9.2.0.4.0安装文档1

    Redhat3+Oracle9.2.0.4.0安装文档1...

    贡献者:网络收集
    395475
  • 【安装文档】蓝海豚Lht_CV2.0商业版

    【安装文档】蓝海豚Lht_CV2.0商业版

    【安装文档】蓝海豚Lht_CV2.0商业版...

    贡献者:网络收集
    816056
  • oracle11.2.0.4单机版实验安装文档

    oracle11.2.0.4单机版实验安装文档

    oracle11.2.0.4单机版实验安装文档...

    贡献者:网络收集
    189643
  • OracleLinux6.4+OracleRAC11.2.0.3安装文档

    OracleLinux6.4+OracleRAC11.2.0.3安装文档

    OracleLinux6.4+OracleRAC11.2.0.3安装文档...

    贡献者:网络收集
    129298
  • 网友在搜
    豆腐猫砂把厕所堵了 红领巾绘画图片大全 咸宁温泉谷桑拿价格表 arial2 y s pund co. ltd. i can t said the ant 女神异闻录5雨天學習 中国省级行政区简称 警卫一师66284部队特警 求cold ain t for me 祝母亲早日康复的诗句 下人难为BY玥岭 中华慈善总会app 注册 bayonet damage factor 善人-《梦境》全文阅读 东京千代田区 地图 supershorty xftp获取root权限 长安马自达2三厢怎么样 互换青春预告 进广州地铁工作怎么样 中泰证券官方网站下载 安切洛蒂切尔西 GoldenBox87 moment广角 iphonex 马克思 再生产 孩之宝软弹漫画 EXCEL怎么两页打成一页 freeradius openldap 珠海长隆海洋王国一天游 gps模块通信协议 c语言输出字符 你还要我怎样 百度云盘 朝鲜 美国人质 遇见指弹吉他谱郑成河 襄阳牛杂面培训多少钱 乞丐王子央视版百度云 nike官网电子券 虎牙李太白骂人视频 hands up 2pm 下载 obsidian speedstep rasim salman han singer rc.hzrcj.org.cn 头发变白 知乎 iphone7苏宁易购 wan 107迅雷下载 非天夜翔 猪熊照片 并购 股价 custme house 1gbp等于多少usd 作者陌上昏鸦 新视界大学英语3unit8 iwara.tv视频 诺基亚n6有什么颜色 woyao77 共筑美好校园 北京银行能换泰铢吗

    声明:本站内容源于网络,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

    如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况, 联系我们:shnews500#tom.com

    All Rights Reserved 海日网 手机站 网站地图 网站栏目