JAXB的Eclipse插件(.xsd文件到java类的映射)
一、JAXB的Eclipse插件的下载地址:
https://jaxb-workshop.dev.java.net/servlets/ProjectDocumentList?folderID=4962&expandFolder=4962&folderID=0
二、插件的使用说明:
https://jaxb-workshop.dev.java.net/plugins/eclipse/xjc-plugin.html
三、实例
1、databaseInfo.xsd文件
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema
"
targetNamespace="http://www.w3school.com.cn
" xmlns="http://www.w3school.com.cn
"
elementFormDefault="qualified">
<xs:element name="database">
<xs:complexType>
<xs:sequence>
<xs:element name="info" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ip" type="xs:string" />
<xs:element name="port" type="xs:string" />
<xs:element name="databaseName" type="xs:string" />
<xs:element name="userName" type="xs:string" />
<xs:element name="password" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
2、右键点击“databaseInfo.xsd”文件
3、下一步
4、下一步
5、“Finish”之后
6、刷新项目
7、xmlOperation.java对XML的读写操作
package com.channelsoft.xml.operation;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import com.channelsoft.xml.Database;
import com.channelsoft.xml.ObjectFactory;
public class xmlOperation
{
/**
*从XML文件读
*/
public void readFromXML()
{
JAXBContext jc;
try
{
jc = JAXBContext.newInstance("com.channelsoft.xml");
Unmarshaller u = jc.createUnmarshaller();
Database info = (Database) u.unmarshal(new File("e:\\info.xml"));
for(int i=0;i<info.getInfo().size();i++)
{
System.out.println(info.getInfo().get(i).getIp());
System.out.println(info.getInfo().get(i).getPort());
System.out.println(info.getInfo().get(i).getDatabaseName());
System.out.println(info.getInfo().get(i).getUserName());
System.out.println(info.getInfo().get(i).getPassword());
}
}
catch (JAXBException e)
{
e.printStackTrace();
}
}
/**
* 创建并写入XML文件
*/
public void saveToXML()
{
try
{
ObjectFactory of = new ObjectFactory();
Database database = of.createDatabase();
Database.Info info= of.createDatabaseInfo();
info.setIp("10.130.14.142");
info.setPort("1433");
info.setDatabaseName("hrinfo");
info.setUserName("sa");
info.setPassword("dibin");
Database.Info info1= of.createDatabaseInfo();
info1.setIp("10.130.14.49");
info1.setPort("1433");
info1.setDatabaseName("hrinfo");
info1.setUserName("sa11");
info1.setPassword("dibin11");
database.getInfo().add(info);
database.getInfo().add(info1);
JAXBContext jc = JAXBContext.newInstance("com.channelsoft.xml");
Marshaller ms = jc.createMarshaller();
ms.setProperty("jaxb.encoding", "GB2312");
ms.setProperty("jaxb.formatted.output", true);
ms.marshal(database, new File("e:\\info.xml"));
}
catch (Exception e)
{
}
}
public static void main(String[] args)
{
new xmlOperation().saveToXML();
new xmlOperation().readFromXML();
}
}
分享到:
相关推荐
- **编译XSD到Java类**:使用JAXB的`xjc`工具,可以将XSD文件转换为Java源代码。`xjc`命令行工具通常包含在JDK中,也可以通过Maven或Gradle插件集成到构建流程中。 - **绑定配置**:通过在XSD文件中添加特殊的JAXB...
JAXB允许开发者将XML数据结构映射到Java类,使得XML数据可以方便地在Java应用中被处理和操作。这个"JAXB.zip_jaxb"压缩包包含了使用JAXB开发的一些示例源代码,这些代码是在NetBeans集成开发环境中创建的。 **...
标题“用jaxb自动生成xsd对像”指的是利用JAXB的XJC(XSD到Java绑定编译器)工具,从XML Schema文件生成对应的Java类。这使得你可以直接操作Java对象,而无需直接处理XML的细节。 描述中的“简单易用”意味着通过...
JAXB提供了一种自动化的机制,将XML Schema(XSD)映射到Java类,反之亦然。这允许开发者在Java应用中存储和序列化数据为XML格式,同时保持代码的简洁性和可维护性。JAXB的核心组件包括: 1. **Unmarshaller**: ...
2. **jaxb-xjc.jar**:XJC(XML Java Compiler)是JAXB的代码生成工具,可以将XML Schema(XSD)转换为对应的Java类。当你有XML Schema定义时,使用xjc工具可以自动生成符合该Schema的Java类,使得处理XML数据更为...
有了XSD文件,开发者可以使用Java API如JAXB(Java Architecture for XML Binding)来自动将XML映射为Java对象,简化数据处理。JAXB允许我们根据XSD文件自动生成Java类,这样在解析XML时,可以直接将XML元素转化为...
2. **生成Java类**:有了XSD文件后,你可以使用JAXB提供的`xjc`工具,这是一个命令行脚本(xjc.bat或xjc.sh),它会根据XSD生成对应的Java类。这些Java类包含了对应的字段和注解,它们将被用来序列化和反序列化XML...
`spring-oxm-4.2.xsd`文件包含了所有关于Spring OXM 4.2版本的XML元素和属性的定义,它定义了如_marshaller_、_unmarshaller_、_oxm-marshaller_等元素,这些元素用于配置Spring如何进行对象到XML的转换以及XML到...
XSD转换成Java对象的过程,也称为XML到Java对象的绑定或者XML Schema Binding,是将XML数据映射为Java类,使得程序能够方便地读取、操作和验证XML数据。这一过程在处理XML数据丰富的系统中非常常见,如Web服务或企业...
1. **绑定文件(Binding File)**:这是一个XML文件,其中定义了XML Schema到Java类的映射规则。通过定制绑定文件,用户可以自定义Java类的生成方式,比如字段名、包名等。 2. **XSD文件(XML Schema Definition)*...
在实际开发中,如果你需要从XML文件生成对应的Java类,你可以使用JAXB的绑定框架,通过编写一个XML绑定配置文件(*.xjb)来定制映射。然后,利用JAXB的`xjc`命令行工具,结合XSD文件和绑定文件生成Java源码。反之,...
3. **XSD到Java映射**:Castor 1.4版本提供了一种机制,可以将XSD文件解析并生成对应的Java类。这大大简化了处理XML数据的过程,因为开发者可以直接操作Java对象,而无需直接处理XML字符串。 4. **Castor生成Java类...
1. **XML Schema到Java类的生成**:用户可以导入XML Schema文件(.xsd),然后利用JAXB插件自动生成对应的Java类,这些类包含了解析和生成XML所需的所有元数据。 2. **Java类到XML的转换**:将已有的Java对象转换成...
JAXB基于Java注解,这些注解用于标记Java类和它们的属性,以便JAXB知道哪些元素和属性应该映射到XML中。最常见的注解有`@XmlRootElement`,用于标记作为XML根元素的类;`@XmlElement`,用于将类的字段或方法映射到...
通过使用JAXB,开发人员可以从XSD文件中生成Java类,这些类可以直接用于XML的序列化和反序列化,从而简化了XML处理。 首先,我们需要了解Maven。Maven是一个项目管理和综合工具,它为Java项目提供了构建、依赖管理...
这些映射定义在`.xjb`或`.xsd`文件中,可以通过`jaxb:bindings`元素进行自定义。 4. **上下文(Context)**:` JAXBContext `是JAXB的核心,它负责管理和维护Java类型到XML命名空间的映射。通过`JAXBContext.new...
使用`jaxb binding compiler`(xjc)工具,我们可以从Java类生成对应的XML Schema(XSD),然后反向生成XML文件。在命令行中,可以运行以下命令: ``` xjc -d src-gen Person.java ``` 这将生成一个`src-gen`目录...
Java工具如JAXB和XML Beans可以直接使用XSD文件生成Java类,从而实现对象到XML的严格映射。 总之,XML与Java对象的映射是Java开发中的重要环节,涉及多种技术和工具。开发者可以根据项目需求选择合适的工具,如JAXB...
XML文件自动转换为Java对象工具是一种实用的开发辅助软件,它可以帮助程序员快速地将XML数据映射到Java类,从而简化了数据处理的过程。在Java开发中,XML常被用作数据交换格式,但手动编写Java类来表示XML结构既耗时...