`
xiangxingchina
  • 浏览: 520488 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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();
}
}

分享到:
评论

相关推荐

    JAXB的 eclipse插件

    1. **XML Schema到Java类的生成**:用户可以导入XML Schema文件(.xsd),然后利用JAXB插件自动生成对应的Java类,这些类包含了解析和生成XML所需的所有元数据。 2. **Java类到XML的转换**:将已有的Java对象转换成...

    xsd转换成java对象

    10. **工具选择**:除了JAXB,还有其他的库和工具可以进行XSD到Java的转换,如Apache CXF、Eclipse的XSD to Java插件等,它们各有特点,适用于不同的开发环境和需求。 总的来说,将XSD转换成Java对象是提升开发效率...

    JAXB + XSD

    在实际开发中,如果你需要从XML文件生成对应的Java类,你可以使用JAXB的绑定框架,通过编写一个XML绑定配置文件(*.xjb)来定制映射。然后,利用JAXB的`xjc`命令行工具,结合XSD文件和绑定文件生成Java源码。反之,...

    xml与java对象映射

    Java工具如JAXB和XML Beans可以直接使用XSD文件生成Java类,从而实现对象到XML的严格映射。 总之,XML与Java对象的映射是Java开发中的重要环节,涉及多种技术和工具。开发者可以根据项目需求选择合适的工具,如JAXB...

    解析xml,生成java类

    1. JAXB:通过JAXB的`xjc`命令行工具,可以基于XML Schema(XSD)文件生成对应的Java类。例如: ``` xjc -d src -p com.example mySchema.xsd ``` 这会生成对应包名下的一系列Java类。 2. Apache CXF:除了JAXB...

    jaxbbuilder

    1. **代码生成**:基于XML Schema文件(XSD),插件可以自动生成对应的Java类,这些类能够直接与XML文档进行交互,省去了手动编写这些类的繁琐工作。 2. **反向工程**:如果已经有了Java类,插件可能能够根据这些类...

    jaxb解析生成xml

    在这个例子中,`Person`是我们的Java类,它被JAXB用来映射XML数据。`unmarshal`方法用于从XML文件中创建一个`Person`对象,而`marshal`方法则将`Person`对象写入XML文件。 ### JAXB的优势 1. **易用性**:JAXB提供...

    XML JAXB入门示例

    JAXB使用注解(Annotations)来定义这些类如何映射到XML结构。常见的注解包括: 1. `@XmlRootElement`:标记一个类作为XML文档的根元素。 2. `@XmlElement`:将类的字段映射为XML元素。 3. `@XmlAttribute`:将类的...

    xml和java绑定

    3. **XML Schema绑定**: JAXB还支持通过XSD(XML Schema Definition)文件生成Java类,这使得基于规范的类型系统能够在Java代码中体现出来。 4. **marshalling 和 unmarshalling**: marshalling是将Java对象转换为...

    配置GWT.ui.xml代码提示

    这些文件通常与Java代码一起工作,通过`@UiField`注解将UI元素绑定到Java类的字段,实现数据的双向绑定。 当Eclipse处理`.ui.xml`文件时,它需要解析XML并尝试为所有元素提供代码提示和验证。对于大型项目,这个...

    JPA-XJC:一个JAXB 2.1 XJC插件-开源

    JPA-XJC插件为JAXB和JPA的结合提供了一个实用的工具,使得XML模式文件可以直接生成符合JPA规范的Java类。通过利用这个插件,开发者可以更加高效地管理ORM过程,提高开发效率,同时保持代码的标准化和可维护性。开源...

    o-x-mapping测试

    JAXB允许开发者通过提供XSD文件,自动生成Java类,这些类可以直接序列化为XML,或从XML反序列化。 3. **XStream**:XStream是一个轻量级的Java库,它能将任何Java对象转换为相应的XML表示,反之亦然。相比于JAXB,...

    JavaXML:该项目通过 Java Eclipse 处理多种 XML 文件操作

    - 在 Web 服务中,Java 通过 JAXB(Java Architecture for XML Binding)将 XML 数据映射到 Java 对象,简化了数据交换。 - 在配置文件中,如 Spring 框架的配置,XML 用来定义bean的结构和依赖关系。 - 在数据...

    J2EE之xml的建模

    开发者可以定义Java类,然后JAXB会生成对应的XML schema,反之亦然。 5. **Spring框架**:Spring框架广泛使用XML配置文件来声明依赖注入和AOP(面向切面编程)设置。通过bean定义,可以在XML中配置bean的属性、初始...

    Java架构设计.pdf

    根据提供的文件内容片段,可以梳理出以下Java架构设计相关的知识点: 1. Java基础知识与Web技术 - Java是开发各种应用程序的基础,包括但不限于桌面应用、企业级应用、移动应用等。 - AJAX(Asynchronous ...

    netty 权威指南 2

    8. `binding.xml`:这可能与数据绑定相关,例如 Java XML 绑定(JAXB)或类似的框架,用于将XML数据映射到Java对象。 9. `pojo.xsd`:这是一个XML Schema文档,用于定义XML数据的结构和约束。在Netty项目中,可能...

    xmlbeans-bin-4.0.0-20201016.zip

    2. **Schema编译器**:XMLBeans提供了一个名为`scomp`的命令行工具,用于将XML Schema(XSD)文件转换为Java源代码。这些生成的Java类封装了XML结构,提供了对XML文档的强类型访问。 3. **Java API**:XMLBeans的...

    XFIRE短信接口

    XFIRE的核心优势在于其灵活的绑定机制,能够将复杂的XML数据结构映射到简单的Java对象(POJO),从而简化了开发流程。此外,XFIRE还支持多种数据绑定技术,如XMLBeans、JAXB、Castor、JiBX等,开发者可以根据项目...

Global site tag (gtag.js) - Google Analytics