通过XSD文件生成JAVA对象

c:\Program Files\Java\jdk1.8.0_101\bin>xjc.exe  -p  "io.xsd.xml"  -encoding "UTF-8"  ".\xsdTOxml\MyField.xsd"  -d  ".\xsdTOxml"
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US
parsing a schema...
compiling a schema...
io\xsd\xml\Message.java
io\xsd\xml\ObjectFactory.java

命令格式:   xjc.exe  -p  包的路径   -encoding "UTF-8"   文件名.xsd  -d  目标存放文件夹

[ERROR] schema_reference.4: Failed to read schema document 'file:/E:/KGCCDEV/xsdTOxml/io.xsd.xml', because 
1) could not find the document; 
2) the document could not be read; 
3) the root element of the document is not <xsd:schema>.unknown location

Failed to parse a schema.

踩坑点1: 不能用绝对路径, 不然就会报上面的错误。要用和xjc.exe 同级目录的相对路径

[ERROR] 'Message' is already defined
  line 1697 of file:/C:/Program%20Files/Java/j
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用Java中的JAXB(Java Architecture for XML Binding)库来根据XSD文件生成XML。JAXB是Java EE的一部分,可以将Java对象映射到XML文档,并提供了在Java对象XML文档之间进行转换的方法。 以下是使用JAXB生成XML的基本步骤: 1. 创建一个Java,该的属性对应于XSD文件中的元素和型。 2. 使用JAXB的XJC工具从XSD文件生成Java。这可以通过在命令行中使用xjc命令或在Eclipse中使用插件来完成。 3. 在Java代码中创建JAXBContext对象,该对象负责将Java对象转换为XML文档。 4. 创建Java对象,并设置其属性。 5. 使用JAXB Marshaller将Java对象转换为XML文档。 以下是一个简单的示例代码: ```java import javax.xml.bind.*; import java.io.*; public class GenerateXML { public static void main(String[] args) throws JAXBException, IOException { // 创建JAXBContext对象 JAXBContext jaxbContext = JAXBContext.newInstance(Person.class); // 创建Marshaller对象 Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // 创建Java对象 Person person = new Person(); person.setName("John Doe"); person.setAge(30); // 将Java对象转换为XML文档 StringWriter writer = new StringWriter(); marshaller.marshal(person, writer); String xml = writer.toString(); System.out.println(xml); } } @XmlRootElement class Person { private String name; private int age; // getters and setters } ``` 在上面的示例中,我们创建了一个名为Person的Java,并使用@XmlRootElement注解将其标记为根元素。然后,我们使用JAXBContext和Marshaller对象Java对象转换为XML文档。最后,我们使用StringWriter将XML文档输出到控制台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

langeldep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值