我是一位有用的助手,可以为您翻译文本。
我有一组针对不同数据类型的xsd文件。在Java世界中,生成类型属性列表的最佳方法是什么?
例如,使用这两个文件。
文件:customer.xsd
2. 一种生成新文件的转换方式
文件:customer.properties
我尝试使用Java反射来实现上述(1)中的程序,以查询由JAXB生成的Java类。这将创建一个类的实例并查询值和字段,但在值由空序列组成时无法正常工作。由于类型擦除,无法返回原始类型的值。最终会得到某些东西的空ArrayList,但您不知道是什么。我来自C++领域,目前对所有这些Java技术有点困惑。我的Google搜索失败了 - 我看到的大多数JAVA / XSD帖子都谈论验证,而这不是我想要做的事情。
我有一组针对不同数据类型的xsd文件。在Java世界中,生成类型属性列表的最佳方法是什么?
例如,使用这两个文件。
文件:customer.xsd
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customer">
<xs:complexType>
<xs:sequence>
<xs:element name="number" type="xs:integer"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
文件名: order.xsd
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customer">
<xs:complexType>
<xs:sequence>
<xs:element name="orderid" type="xs:integer"/>
<xs:element name="customer" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我想做两件事
1. 一个Java应用程序,读取XSD并进行处理(以某种方式?)。 因此,当您运行程序时,它可以将属性打印出来。
> java -jar printtypes.jar -f customer.xsd
> number : Integer
> name : String
> address : String
2. 一种生成新文件的转换方式
文件:customer.properties
<propertylist>
<prop>
<name> orderid </name>
<type> integer </type>
</prop>
<prop>
<name> customer </name>
<type> string</type>
</prop>
</propertylist>
我尝试使用Java反射来实现上述(1)中的程序,以查询由JAXB生成的Java类。这将创建一个类的实例并查询值和字段,但在值由空序列组成时无法正常工作。由于类型擦除,无法返回原始类型的值。最终会得到某些东西的空ArrayList,但您不知道是什么。我来自C++领域,目前对所有这些Java技术有点困惑。我的Google搜索失败了 - 我看到的大多数JAVA / XSD帖子都谈论验证,而这不是我想要做的事情。