一、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();
}
}
分享到:
相关推荐
1. **XML Schema到Java类的生成**:用户可以导入XML Schema文件(.xsd),然后利用JAXB插件自动生成对应的Java类,这些类包含了解析和生成XML所需的所有元数据。 2. **Java类到XML的转换**:将已有的Java对象转换成...
10. **工具选择**:除了JAXB,还有其他的库和工具可以进行XSD到Java的转换,如Apache CXF、Eclipse的XSD to Java插件等,它们各有特点,适用于不同的开发环境和需求。 总的来说,将XSD转换成Java对象是提升开发效率...
在实际开发中,如果你需要从XML文件生成对应的Java类,你可以使用JAXB的绑定框架,通过编写一个XML绑定配置文件(*.xjb)来定制映射。然后,利用JAXB的`xjc`命令行工具,结合XSD文件和绑定文件生成Java源码。反之,...
Java工具如JAXB和XML Beans可以直接使用XSD文件生成Java类,从而实现对象到XML的严格映射。 总之,XML与Java对象的映射是Java开发中的重要环节,涉及多种技术和工具。开发者可以根据项目需求选择合适的工具,如JAXB...
1. JAXB:通过JAXB的`xjc`命令行工具,可以基于XML Schema(XSD)文件生成对应的Java类。例如: ``` xjc -d src -p com.example mySchema.xsd ``` 这会生成对应包名下的一系列Java类。 2. Apache CXF:除了JAXB...
1. **代码生成**:基于XML Schema文件(XSD),插件可以自动生成对应的Java类,这些类能够直接与XML文档进行交互,省去了手动编写这些类的繁琐工作。 2. **反向工程**:如果已经有了Java类,插件可能能够根据这些类...
在这个例子中,`Person`是我们的Java类,它被JAXB用来映射XML数据。`unmarshal`方法用于从XML文件中创建一个`Person`对象,而`marshal`方法则将`Person`对象写入XML文件。 ### JAXB的优势 1. **易用性**:JAXB提供...
JAXB使用注解(Annotations)来定义这些类如何映射到XML结构。常见的注解包括: 1. `@XmlRootElement`:标记一个类作为XML文档的根元素。 2. `@XmlElement`:将类的字段映射为XML元素。 3. `@XmlAttribute`:将类的...
3. **XML Schema绑定**: JAXB还支持通过XSD(XML Schema Definition)文件生成Java类,这使得基于规范的类型系统能够在Java代码中体现出来。 4. **marshalling 和 unmarshalling**: marshalling是将Java对象转换为...
这些文件通常与Java代码一起工作,通过`@UiField`注解将UI元素绑定到Java类的字段,实现数据的双向绑定。 当Eclipse处理`.ui.xml`文件时,它需要解析XML并尝试为所有元素提供代码提示和验证。对于大型项目,这个...
JPA-XJC插件为JAXB和JPA的结合提供了一个实用的工具,使得XML模式文件可以直接生成符合JPA规范的Java类。通过利用这个插件,开发者可以更加高效地管理ORM过程,提高开发效率,同时保持代码的标准化和可维护性。开源...
JAXB允许开发者通过提供XSD文件,自动生成Java类,这些类可以直接序列化为XML,或从XML反序列化。 3. **XStream**:XStream是一个轻量级的Java库,它能将任何Java对象转换为相应的XML表示,反之亦然。相比于JAXB,...
- 在 Web 服务中,Java 通过 JAXB(Java Architecture for XML Binding)将 XML 数据映射到 Java 对象,简化了数据交换。 - 在配置文件中,如 Spring 框架的配置,XML 用来定义bean的结构和依赖关系。 - 在数据...
开发者可以定义Java类,然后JAXB会生成对应的XML schema,反之亦然。 5. **Spring框架**:Spring框架广泛使用XML配置文件来声明依赖注入和AOP(面向切面编程)设置。通过bean定义,可以在XML中配置bean的属性、初始...
根据提供的文件内容片段,可以梳理出以下Java架构设计相关的知识点: 1. Java基础知识与Web技术 - Java是开发各种应用程序的基础,包括但不限于桌面应用、企业级应用、移动应用等。 - AJAX(Asynchronous ...
8. `binding.xml`:这可能与数据绑定相关,例如 Java XML 绑定(JAXB)或类似的框架,用于将XML数据映射到Java对象。 9. `pojo.xsd`:这是一个XML Schema文档,用于定义XML数据的结构和约束。在Netty项目中,可能...
2. **Schema编译器**:XMLBeans提供了一个名为`scomp`的命令行工具,用于将XML Schema(XSD)文件转换为Java源代码。这些生成的Java类封装了XML结构,提供了对XML文档的强类型访问。 3. **Java API**:XMLBeans的...
XFIRE的核心优势在于其灵活的绑定机制,能够将复杂的XML数据结构映射到简单的Java对象(POJO),从而简化了开发流程。此外,XFIRE还支持多种数据绑定技术,如XMLBeans、JAXB、Castor、JiBX等,开发者可以根据项目...