`

JAXB(.xsd文件到java类的映射)

    博客分类:
  • XSD
阅读更多

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 利用xsd文件生成java类

    - **编译XSD到Java类**:使用JAXB的`xjc`工具,可以将XSD文件转换为Java源代码。`xjc`命令行工具通常包含在JDK中,也可以通过Maven或Gradle插件集成到构建流程中。 - **绑定配置**:通过在XSD文件中添加特殊的JAXB...

    JAXB.zip_jaxb

    JAXB允许开发者将XML数据结构映射到Java类,使得XML数据可以方便地在Java应用中被处理和操作。这个"JAXB.zip_jaxb"压缩包包含了使用JAXB开发的一些示例源代码,这些代码是在NetBeans集成开发环境中创建的。 **...

    用jaxb自动生成xsd对像

    标题“用jaxb自动生成xsd对像”指的是利用JAXB的XJC(XSD到Java绑定编译器)工具,从XML Schema文件生成对应的Java类。这使得你可以直接操作Java对象,而无需直接处理XML的细节。 描述中的“简单易用”意味着通过...

    JAXB工具类 xml转为java对象 java对象转为xml

    JAXB提供了一种自动化的机制,将XML Schema(XSD)映射到Java类,反之亦然。这允许开发者在Java应用中存储和序列化数据为XML格式,同时保持代码的简洁性和可维护性。JAXB的核心组件包括: 1. **Unmarshaller**: ...

    JAXB2 jaxb-api.jar jaxb-xjc.jar jaxb-impl.jar activation.jar

    2. **jaxb-xjc.jar**:XJC(XML Java Compiler)是JAXB的代码生成工具,可以将XML Schema(XSD)转换为对应的Java类。当你有XML Schema定义时,使用xjc工具可以自动生成符合该Schema的Java类,使得处理XML数据更为...

    xml文件转xsd文件

    有了XSD文件,开发者可以使用Java API如JAXB(Java Architecture for XML Binding)来自动将XML映射为Java对象,简化数据处理。JAXB允许我们根据XSD文件自动生成Java类,这样在解析XML时,可以直接将XML元素转化为...

    用JAXB来实现Java程序配置的简单方法

    2. **生成Java类**:有了XSD文件后,你可以使用JAXB提供的`xjc`工具,这是一个命令行脚本(xjc.bat或xjc.sh),它会根据XSD生成对应的Java类。这些Java类包含了对应的字段和注解,它们将被用来序列化和反序列化XML...

    spring-oxm-4.2.xsd.zip

    `spring-oxm-4.2.xsd`文件包含了所有关于Spring OXM 4.2版本的XML元素和属性的定义,它定义了如_marshaller_、_unmarshaller_、_oxm-marshaller_等元素,这些元素用于配置Spring如何进行对象到XML的转换以及XML到...

    xsd转换成java对象

    XSD转换成Java对象的过程,也称为XML到Java对象的绑定或者XML Schema Binding,是将XML数据映射为Java类,使得程序能够方便地读取、操作和验证XML数据。这一过程在处理XML数据丰富的系统中非常常见,如Web服务或企业...

    jaxb文件包

    1. **绑定文件(Binding File)**:这是一个XML文件,其中定义了XML Schema到Java类的映射规则。通过定制绑定文件,用户可以自定义Java类的生成方式,比如字段名、包名等。 2. **XSD文件(XML Schema Definition)*...

    JAXB + XSD

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

    castor1.4 xsd生成java

    3. **XSD到Java映射**:Castor 1.4版本提供了一种机制,可以将XSD文件解析并生成对应的Java类。这大大简化了处理XML数据的过程,因为开发者可以直接操作Java对象,而无需直接处理XML字符串。 4. **Castor生成Java类...

    JAXB的 eclipse插件

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

    通过JAXB实现完成java对象和xml的互相转换

    JAXB基于Java注解,这些注解用于标记Java类和它们的属性,以便JAXB知道哪些元素和属性应该映射到XML中。最常见的注解有`@XmlRootElement`,用于标记作为XML根元素的类;`@XmlElement`,用于将类的字段或方法映射到...

    java源码生成-mb2g-jaxb:使用Maven从xsd文件生成Java源代码

    通过使用JAXB,开发人员可以从XSD文件中生成Java类,这些类可以直接用于XML的序列化和反序列化,从而简化了XML处理。 首先,我们需要了解Maven。Maven是一个项目管理和综合工具,它为Java项目提供了构建、依赖管理...

    jaxb jar包

    这些映射定义在`.xjb`或`.xsd`文件中,可以通过`jaxb:bindings`元素进行自定义。 4. **上下文(Context)**:` JAXBContext `是JAXB的核心,它负责管理和维护Java类型到XML命名空间的映射。通过`JAXBContext.new...

    jaxb2 生产java类demo实例

    使用`jaxb binding compiler`(xjc)工具,我们可以从Java类生成对应的XML Schema(XSD),然后反向生成XML文件。在命令行中,可以运行以下命令: ``` xjc -d src-gen Person.java ``` 这将生成一个`src-gen`目录...

    xml与java对象映射

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

    xml文件自动转成java对象工具

    XML文件自动转换为Java对象工具是一种实用的开发辅助软件,它可以帮助程序员快速地将XML数据映射到Java类,从而简化了数据处理的过程。在Java开发中,XML常被用作数据交换格式,但手动编写Java类来表示XML结构既耗时...

Global site tag (gtag.js) - Google Analytics