- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Tuxedo将C语言中的结构体转换成Xml格式的字符串V0.128
使用Tuxedo 将C 语言中的结构体转换成Xml
格式的字符串
使用Tuxedo10gR3 的API 进行的开发,我的邮箱是
changpeng999@163.com 欢迎指正文中的错误,谢谢,转载请注明
1. 概述
1.1 XML 语言
在百度百科中XML (Extensible markup language )可扩展标记语言的定义是:用于标记
电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户
对自己的标记语言进行定义的源语言。
举一个XML 字符串的实例:
trans
trans_ no9999/ trans_ no
trans_ dat trans_ date
trans_ time001225/trans_ time
trans_ amount999/trans_ amount
dtlinfo
card_typecredit/card_type
card_no888888888/card_no
acc_namezhangsan/acc_name
/ dtlinfo
/ trans
XML 具有自描述性,其标签没有被预定义,这样使得其可以存储的信息的扩展性很强,
我觉得在信息交换方面很有用;其次XML 的结构是可以嵌套的,由各个形成树状。
1.2 C 结构体
C 语言中的结构体同样能够完成 XML 所实现的功能,但是其是一种语言中的数据类型,
必须通过C 语言的函数和语法来进行操作。在项目中有时我们会从外部接收到XML 格式的
数据或者向外发送XML 格式的数据,需求要求我们将C 结构体所存储的数据以XML 格式的
形式体现出来,Tuxedo 中的FML(Field Manipulation Language 域操作语言)就能够完成这个任
务。
2. Tuxedo 将C 结构体转换成XML 格式的字符串
2.1 Tuxedo 的FML 概念
域操作语言(Field Manipulation Languages 或者FML),是一个用来定义和操作被称为域缓
冲存储结构的C 语言函数集合,域缓冲的域(filed)中包含了属性—值(attribute-value)对。属性
是域的标识符,其对应的值包含了域的数据内容。
通过对相关域的集合提供一个有名访问(named access),域缓冲为不同进程间的参数
化的数据通信提供了一个非常好的结构。需要同其他进程通信的程序可以使用 FML 软件来
提供对域的访问而不需要考虑包含这些域的结构。
FML 也提供了一个叫做VIEWS 的工具,其允许你将域缓冲映射到C 语言的结构体或者
COBOL 中的records,反之亦然。VIEWS 工具使你执行冗长的数据操作在结构体中进行而不
是在域缓冲中进行;如果数据被传输至结构体中来进行操作,应用程序能够运行的更快。因
此,VIEWS 工具将域缓冲中的数据独立性和经典的结构体(record structures)的效率和简洁联
系在了一起。
下面是域表文件empdataflds 文件内容的截图,
该文件定义了三个域,它们的域名称分别是EMPNAME,EMPID 和EMPJOB,对应的数据
类型分别是string,long 和string 。
命令mkfldhdr32 会根据域表文件empdataflds 生成域头文件empdataflds.h
下图是source viewfile empdata.v 的所有内容
该文件中的CNAME 分别有empname,empid 和empjob ,CNAME 表示 view 中的数据成
员对应的C 结构体中的数据域名称。FNAME 是 CNAME 所对应的域名称,empname 对应于
EMPNAME,empid 对应于 EMPID 以及empjob 对应于 EMPJOB 。
使用Tuxedo 中的viewc32
您可能关注的文档
最近下载
- 定向钻穿越工程施工组织设计.doc VIP
- 2025年节能减排生态环保知识竞赛考试试题(附答案).docx VIP
- 智能网联汽车技术.pdf VIP
- DBJ/T 03-85-2018 市政基础设施工程资料管理规程(城镇道路工程、城市桥梁工程、给水排水管道工程、给水排水构筑物工程) 【压缩版】.pdf VIP
- 教科版八年级物理上册第一章~第二章综合测试题.doc VIP
- 22J403-1 楼梯 栏杆 栏板(一) (3).pdf VIP
- 学前教育学_全套PPT课件.pptx
- 光辉合益-中欧基金高管团队领导力提升项目建议书_20190515.pptx VIP
- 2025年秋新华师大版数学七年级上册全册同步教案.docx
- 《过敏性休克的临床表现与急救处理》课件.ppt VIP
文档评论(0)