xml 转xsd->xsd转c,c++
来源:互联网 发布:小型图书馆源码 编辑:程序博客网 时间:2024/04/26 11:36
fromhttp://blog.csdn.net/mynameiscloud/article/details/6616989
Trang 是一种命令行的可以XML生成XSD的工具,生成XML文件对应的XSD文件只需要3个简单的步骤:
第一步 下载Trang
从http://www.thaiopensource.com/relaxng/trang.html 上下载trang-version.zip
第二步 解压zip
将trang-version.zip解压到某个目录,比如d:\trang
第三步 生成XSD
假设在 d:\ 下有一个xml文件 person.xml
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <person NAME="ZhangSan">
- <address country="China">
- <state>beijing</state>
- </address>
- <Job>IT</Job>
- </person>
打开windows命令行,将当前位置变更到 d:\
输入
java -jar %TrangHome%\trang.jar person.xml person.xsd
( %TrangHome%表示Trang解压目录, trang.jar 接受两个参数,第一个为源文件,第二个为目标文件)
ok!你可以看到在 d:\ 下就生成了 person.xsd 文件
- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xs:element name="person">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="address"/>
- <xs:element ref="Job"/>
- </xs:sequence>
- <xs:attribute name="NAME" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="address">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="state"/>
- </xs:sequence>
- <xs:attribute name="country" use="required" type="xs:NCName"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="state" type="xs:NCName"/>
- <xs:element name="Job" type="xs:NCName"/>
- </xs:schema>
berserkerr 发表于 2005-4-25 12:57:00
我在网上找了一个XML Data binding的工具,叫做XBinder,支持XML Schema和C/C++之间的映射,支持windows,linux和各种unix平台。其主页为http://obj-sys.com/products_xbinder.shtml ,我已经把各平台下的xbinder安装文件放在\\172.18.42.200\Incoming\xgm\xbinder下。
使用xbinder的步骤为:
1. 根据xsd生成c/c++源代码(*.c或*.cpp, *.h)和makefile文件
2. 在自己的c/c++文件里include前一步骤所生成的h文件,使用前一步骤生成的c++ class或c struct
3. make (要将xbinder的库文件link起来,这些都已经在自动生成的makefile中写好了)
我在windows下试了一下,根据OTA的schema文件FS_OTA_AirBookRS.xsd,生成了一系列cpp和h文件,并可以使用。
阅读全文 | 回复(0) | 引用通告 | 编辑
- xml 转xsd->xsd转c,c++
- xml转xsd,xsd,转java类
- XML 架构定义工具 (Xsd.exe) xsd转代码,代码转xsd,xml转xsd
- 由xsd生成xml(C#.NET)
- c#实现xml转xsd
- dtd xsd xml--转自小菜博客
- XML,XSD
- xsd $$ xml
- Serialize Your Deck with Positron [XML Serialization, XSD, C#]
- XSD
- XSD
- xsd
- (转) XML DTD XSD XSL XDR的区别
- 根据xsd生成xml文档的c#实现(转)
- [转] 如何定义Xsd文件
- XML 架构参考 (XSD)
- XSD - XML schema
- XML Schema (XSD)
- Android SDK下载和更新失败的解决方法!!!
- 飘逸的python - 性能调优利器profile及其意义
- jquery, json与ashx的完美结合
- 修改Eclipse启动图标
- 矩阵算法模板
- xml 转xsd->xsd转c,c++
- 判断两个对象是否是同一个对象 | Equals | ReferenceEquals |== | string 类是一个特殊的类
- Marklogic search development -1.Developing Search Applications in MarkLogic Server
- Ajax长连接
- Objective-C ,ios,iphone开发基础:自定义控件:Eg: UIButton
- HDU_4701_Game
- 实现FusionChart动态获取数据(二)
- 关系模型的基本概念
- N个筛子,掷出M值的可能性