我在一个项目上使用JAXB.JAXB的吸引力在于它与JDK捆绑在一起,我一直在命令行上使用xjc.exe从模式生成.java文件.我似乎无法找到JAXB ant任务,确定在http://jaxb.java.net上有一个下载但是我想使用捆绑到JDK中的JAXB是否有某种方法可以从Ant调用JAXB class是否调用了xjc.exe?
我正在使用Spring maven插件,我想从特定文件夹中的指定xml架构创建POJO类.我试过xjc通过java代码的命令,但它没有生成那些类.其次,我试过jaxb,但它处理xml文件而不是xsdmarshell/unmarshelling模式.我认为这不是一种创建POJO的方法xsd.
在java中从xsd生成类的正确方法是什么?
下面是XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Employee">
<xs:complexType>
<xs:sequence>
<xs:element name="empId" type="xs:long"/>
<xs:element name="lastName" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="salary" type="xs:integer"/>
<xs:element name="address">
<xs:complexType>
<xs:sequence>
<xs:element name="city" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="zipcode" type="xs:integer"/>
<xs:element name="privatePhoneNo">
<xs:complexType>
<xs:sequence>
<xs:element name="privateMobile" type="xs:string"/>
<xs:element name="privateLandline" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud) 有没有办法将xml文件转换为json?XML可以是任何结构,因此没有用于实例化的POJO类.我需要将xml转换为json或转换为没有根节点的Map.
例如:
<import name="person">
<item>
<firstName>Emil</firstName>
<lastName>Example</lastName>
<addresses>
<address>
<street>Example Blvd.</street>
</address>
<address>
<street>Example Ave.</street>
</address>
</addresses>
</item>
</import>
Run Code Online (Sandbox Code Playgroud)
预期的JSON
{
"firstName": "Emil",
"lastName": "Example",
"addresses": [
{ "street" : "Example Blvd." },
{ "street" : "Example Ave." }
]
}
Run Code Online (Sandbox Code Playgroud)