`

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

分享到:
评论

相关推荐

    源代码-ajax即时聊天程序(新手学习推荐).zip

    源代码-ajax即时聊天程序(新手学习推荐).zip

    python读取excel数据.doc

    以下是一个简单的Python代码,用于在控制台上打印一个看起来像爱心的形状。这个代码使用了ASCII字符来创建形状。 python print('\n'.join([''.join([('Love'[(x-y)%4] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(15, -15, -1)])) 这个代码使用了数学公式来生成心形。但是,由于ASCII字符的限制,这个心形可能看起来不是很完美。 如果你想要一个更详细和定制化的心形,你可能需要使用图形库,如PIL(Python Imaging Library)或matplotlib。但是,这些库通常用于创建图像文件或在图形用户界面上绘制,而不是在控制台上打印。 另外,这里有一个使用turtle模块在图形窗口中绘制爱心的简单示例: python import turtle # 创建一个新的turtle对象 heart = turtle.Turtl

    【图像评价】图像去雾质量评价【含Matlab源码 066期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    30客户满意度调查表.DOC

    30客户满意度调查表.DOC

    labelme, 一个用于图像标记的工具

    使用python3以上版本

    cn-msdn-library-for-visual-studio-2008-service-pack-1-x86-dvd-x1

    cn_msdn_library_for_visual_studio_2008_service_pack_1_x86_dvd_x1.iso 分卷3

    变更申请单.xls

    变更申请单.xls

    【路缝识别】 GUI形态学路缝识别(带面板)【含Matlab源码 1649期】.zip

    【路缝识别】 GUI形态学路缝识别(带面板)【含Matlab源码 1649期】

    判断回文素数的C语言程序

    附件是判断回文素数的C语言程序,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的! 程序首先定义了两个函数:isPrime 用于判断一个数是否为素数,isPalindrome 用于判断一个数是否为回文。然后在 main 函数中,通过一个循环来检查从2到999(这里假设我们只需要检查小于1000的数)的所有数,如果一个数既是素数又是回文数,就将其打印出来。

    Modbus Poll version 10.9.0 Build 2194

    Modbus Poll version 10.9.0 Build 2194,modbus 主机,包含 32位与64位,非常好用的 modbus 协议主机调试工具

    【表盘识别】 GUI二值化指针式表盘识别【含Matlab源码 275期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    读书屋测试项目,里面涵盖有自动化测试用例以及手工测试用例 此项目主要针对自动化项目用例

    此文档是读书屋的自动化测试用例,

    17产品标识和可追溯性控制程序.doc

    17产品标识和可追溯性控制程序.doc

    【图像融合】形态学分析和稀疏表征CSMCA图像融合【含Matlab源码 4130期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    源代码-ApiAdmin后台管理系统 基于ThinkPHP.zip

    源代码-ApiAdmin后台管理系统 基于ThinkPHP.zip

    【图像隐写】 DCT数字水印嵌入+攻击+提取【含Matlab源码 1758期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像加密】 Logistic混沌+Arnold置乱图像加密解密【含Matlab源码 1281期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像评价】 GUI图像客观评价【含Matlab源码 855期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像加密】混沌系统和DNA编码彩色图像加密解密抗噪声性能分析【含Matlab源码 2414期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

Global site tag (gtag.js) - Google Analytics