如何在 Eclipse 中从 XSD 生成 XML

如果您使用的是Web services,],那么您一定一直在使用XSD。要测试Web服务,您需要从XSD文件生成XML。

XSD生成XML

我们可以使用Eclipse IDE轻松地从XSD文件生成XML。只需按照以下步骤从XSD获取XML即可。

1.选择项目中的XSD文件,右击菜单,选择[生成>XML文件...] 2.在弹出窗口中提供XML文件名和XML文件位置。点击下一步按钮。 3.选择您想要为其生成示例XML文件的根元素,确保选中创建可选属性创建可选元素的复选框。下图显示了窗口的外观。

从xsd5.生成xml点击Finish按钮,它将为您生成具有缺省值的xml文件。现在,您可以根据需要更改这些值。

XSD转XML示例

下面是我将为其生成XML文件的XSD。Employee.xsd

 1<?xml version="1.0" encoding="UTF-8"?>
 2<schema xmlns="https://www.w3.org/2001/XMLSchema" 
 3targetNamespace="https://www.journaldev.com/Employee" 
 4xmlns:empns="https://www.journaldev.com/Employee" elementFormDefault="qualified">
 5
 6    <element name="empRequest" type="empns:empRequest"></element>
 7    
 8    <element name="empResponse" type="empns:empResponse"></element>
 9
10    <complexType name="empRequest">
11    	<sequence>
12    		<element name="id" type="int"></element>
13    	</sequence>
14    </complexType>
15    
16    <complexType name="empResponse">
17    	<sequence>
18    		<element name="id" type="int"></element>
19    		<element name="role" type="string"></element>
20    		<element name="fullName" type="string"></element>
21    	</sequence>
22    </complexType>
23</schema>

由于Employee.xsd有两个根元素; empRequestempResponse;我可以生成两个XML文件。这里是Eclipse生成的XML文件,值是我修改的。pageRequest.xml

1<?xml version="1.0" encoding="UTF-8"?>
2<empns:empRequest xmlns:empns="https://www.journaldev.com/Employee" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.journaldev.com/Employee Employee.xsd ">
3  <empns:id>5</empns:id>
4</empns:empRequest>

查询响应.xml

1<?xml version="1.0" encoding="UTF-8"?>
2<empns:empResponse xmlns:empns="https://www.journaldev.com/Employee" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.journaldev.com/Employee Employee.xsd ">
3  <empns:id>1</empns:id>
4  <empns:role>Developer</empns:role>
5  <empns:fullName>Pankaj Kumar</empns:fullName>
6</empns:empResponse>

我希望这篇快速技巧将帮助您轻松地从XSD生成XML。

Published At
Categories with 技术
Tagged with
comments powered by Disqus