代码生成器
XMLSpy包含一个内置的代码生成器,可以从XML Schema生成Java、C++ 或C#类文件。生成的代码由强类型的Schema包装库组成,使您能够创建处理XML数据的软件应用程序。Schema包装库允许您使用从Schema生成的类型以编程方式处理XML数据,而不必过多担心底层XML API。
XMLSpy的Schema编辑器很适合作为软件建模和原型设计的工具,可以在XML Schema中快速建立并自动生成高水平的XML应用程序。对一个应用程序的XML Schema内容模型的更改,只需重新运行代码生成器,就可以立即与软件实现相协调。
生成的代码支持以下操作:
•读取XML文件到一个文档对象模型(DOM)的内存表示中
•将XML文件从DOM表示写回系统文件
•将字符串转换为XML DOM树,反之亦然。
生成的代码以C++、Java或C#编程语言表示。
目标语言 | C++ | C# | Java |
---|---|---|---|
开发环境 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
目标框架:
•.NET Framework •.NET Core 3.1 •.NET 5.0 •.NET 6.0 | Java SE JDK 8或11(包括OpenJDK) Eclipse 4.4或更高版本 Apache Ant(build.xml文件) |
XML DOM实现 | MSXML 6.0 Apache Xerces 3 | System.Xml | JAXP |
C++
您可以配置生成的C++输出代码应使用MSXML 6.0,还是Apache Xerces 3。XMLSpy为所有受支持的Visual Studio版本生成完整的项目(.vcproj)和解决方案(.sln)文件。生成的代码可选择支持MFC。
必备组件:
1.要编译生成的C++代码,必须在您的电脑上安装Windows SDK。
2.要使用Xerces 3 for C++,您需要按照以下说明http://xerces.apache.org/xerces-c/安装并构建它。请确保添加XERCES3环境变量,它是指安装Xerces的目录,例如:C:\xerces-c-3.2.2。此外,PATH环境变量必须包含Xerces二进制文件的路径,例如:%XERCES3%\bin。
3.为Visual Studio生成C++代码,或使用为Visual C++预编译的Xerces库时,必须在解决方案的所有项目中更改编译器设置:
a)在解决方案管理资源器中选择所有项目。
b)在项目菜单上,单击属性。
c)单击配置属性 | C/C++ | 语言。
d)在配置列表中,选择所有配置。
e)将Treat wchar_t as Built-in Type更改为No (/Zc:wchar_t-)。
C#
生成的C#代码可用于任何支持.NET的编程语言,例如,VB.NET、Managed C++或J#。可以为所有受支持的Visual Studio版本(参见上表)生成项目文件。
Java
生成的Java输出是根据Java API for XML Processing (JAXP)编写的,包含一个Ant生成文件和针对支持的Java和Eclipse版本的项目文件(参见上表)。
生成的输出
生成的代码的指定目标文件夹包括以编程方式操作XML文件所需的所有库和文件,即:
•标准Altova库
•Schema包装库
•一个空的测试应用程序,其中包含源代码示例。测试应用程序框架是一个可编译的应用程序,它调用一个空的Example()方法。您可以将您的测试代码添加到此方法中,以便轻松快速地测试新生成的库。
代码生成器模板
生成的代码支持通过名为SPL(Spy Programming Language)的模板语言进行自定义。SPL在将XML Schema内置数据类型映射到特定编程语言原始数据类型方面提供了完全的控制。这允许您构建自己的模板以自动生成几乎任何其他格式,例如:EJB文件、WSDL文件、SQL脚本、ASP或WML代码。
代码生成器的示例