加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML Data Bindings With gsoap

发布时间:2020-12-16 08:52:39 所属栏目:百科 来源:网络整理
导读:关于XML Data Binding 学习过程中遇到的一些问题 首先是xsd文件的构造 什么是xsd? XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 什么是 XML Schema?

关于XML Data Binding 学习过程中遇到的一些问题
首先是xsd文件的构造
什么是xsd?
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构。
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。

什么是 XML Schema?
XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。
XML Schema:
定义可出现在文档中的元素
定义可出现在文档中的属性
定义哪个元素是子元素
定义子元素的次序
定义子元素的数目
定义元素是否为空,或者是否可包含文本
定义元素和属性的数据类型
定义元素和属性的默认值以及固定值
XML Schema 是 DTD 的继任者
我们认为 XML Schema 很快会在大部分网络应用程序中取代 DTD。
理由如下:
XML Schema 可针对未来的需求进行扩展
XML Schema 更完善,功能更强大
XML Schema 基于 XML 编写
XML Schema 支持数据类型
XML Schema 支持命名空间

[xsd基础教程](http://www.w3school.com.cn/schema/index.asp)

例子:emp.xsd

<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="HR" xmlns:tns="HR">
  <complexType name="employee">
    <sequence>
      <element name="employed-since" type="dateTime"/>
      <element name="manages" type="tns:employee" minOccurs="0" maxOccurs="12"/>
    </sequence>
    <attribute name="name" type="string"/>
    <attribute name="ID" type="int" use="default" default="9999"/>
  </complexType>
  <element name="employee" type="tns:employee"/>
</schema>

执行wsdl2h emp.xsd,如果出现cann’t find “typemap.dat”,则从根目录gsoap下将此文件拷到wsdl2h.exe 同目录下即可。

再执行soapcpp2.exe emp.h,这样会出问题

根据提示import相应的文件
soapcpp2.exe emp -Igsoap/import

正确的执行过程:

一般而言,这样到此就可以把生成的文件加到项目中编译运行了。
但是可能有时候需求不一样导致xsd文件的构造不同
这里我罗列了一下问题,有的是我亲自碰到过,有的是网上有人遇到过
问题1[gsoap] unresolved external symbo…

问题2,跟问题1相似,也是一对链接不过,文章链接
问题3,还是链接问题,gSOAP link problems
问题4,[gsoap] -d wsdl2h option - explanation
问题5,gSOAP连接SSL的有关问题
问题6,[gsoap] soap_dom_attribute constructo…
这些问题呢?笔者也没有搞清楚。
但在笔者实现的例子上遇到的问题都解决了
比如问题6,遇到这样的soap_dom_attribute问题,则在生成.h文件时加 -d选项,其对应的头文件就是导入dom.h
wsdl2h.exe emp.h -d
然后在你的项目中把对应的dom.cpp文件加进去编译即可。
但如何在实际项目中利用XML Data Binding,笔者还不知道如何使用?官方没有完整的例子,按照官方的说明实现的例子会崩溃。
希望有经验的同仁能留下相关的文档,谢谢!

其他可借鉴学习的文档:使用 gsoap 管理应用程序的 xml 配置文件
官方文档XML Data Bindings With gsoap
gsoap官方详细文档User Guide

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读