java xsi type_java – JAXB:如何在解组时读取xsi:type值
JAXB (JSR-222)实施将为您处理一切. JAXB认为每个类对应一个复杂类型.它有一个算法来确定类型名称,但您可以使用@XmlType注释覆盖它.如果元素是包含xsi:type属性的解组,则JAXB将查看是否存在与该类型关联的类.如果存在,它将实例化该类型的类,否则它将基于通过注释提供的映射元数据实例化与该元素对应的类型.
欲获得更多信息
UPDATE
以下是一个可能有用的示例:
schema.xsd
在复杂类型下面的XML模式中,canadianAddress扩展了complexType地址.
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/customer"
xmlns:tns="http://www.example.org/customer"
elementFormDefault="qualified">
演示
在下面的演示代码中,XML将转换为从上面的XML模式生成的JAXB模型,然后转换回XML.
import java.io.File;
import javax.xml.bind.*;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance("org.example.customer");
Unmarshaller unmarshaller = jc.createUnmarshaller();
File xml = new File("src/org/example/customer/input.xml");
Customer customer = (Customer) unmarshaller.unmarshal(xml);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(customer, System.out);
}
}
input.xml中/输出
下面是XML. address元素使用xsi:type进行限定,以指示它包含canadianAddress的实例而不仅仅是一个地址.
1 A Street
Ontario
java xsi type_java – JAXB:如何在解组时读取xsi:type值相关推荐
- stax 和jaxb 关系_XML解组基准:JAXB,STAx,Woodstox
stax 和jaxb 关系 介绍 上周末,我开始考虑如何以一种资源友好的方式处理大量XML数据.我要解决的主要问题是如何以块的形式处理大型XML文件,同时提供上游/下游系统,需要处理一些数据. 当然, ...
- java导出jar包后,程序运行时读取图片、音乐资源文件
java导出jar包后,程序运行时读取图片.音乐资源文件 运行时程序就可以把图片.音乐资源加载进入了 start jre/bin/java -jar 名称.jar
- java xsi type_java – JAXB:编组XML上缺少具体类型信息(xsi:type)
我正在为XSD生成JAXB类,用于SOAP WebService我正在构建一个客户端(使用jaxws-maven-plugin v2.4.1生成,wsimport目标). 我遇到一个问题,在编组我的对 ...
- java oracle rs.next_使用jsp连接oracle时,rs.next()值始终为false,表中存在数据
连接部分代码如下: 连接部分代码如下: String drivers="oracle.jdbc.driver.OracleDriver"; String url="jdb ...
- java jaxb 集合_java-使用JAXB解组/编组List String
java-使用JAXB解组/编组List 我正在尝试创建一个非常简单的REST服务器. 我只是有一个测试方法,它将返回字符串列表. 这是代码: 它给出以下错误: SEVERE: A message b ...
- java如何添加同名的xml节点_java – 解组具有多个同名元素的XML JAXB
我正在尝试解组具有多个具有相同名称的元素的XML文档.我不确定是否需要创建我的bean的Arraylist并将其传递给unmarshaller.我希望有人能给我一些指导来解决这个问题.我试图解析的XM ...
- XML解组基准:JAXB,STAx,Woodstox
介绍 上周末,我开始考虑如何以一种资源友好的方式处理大量XML数据.我要解决的主要问题是如何以块的形式处理大型XML文件,同时提供上游/下游系统,需要处理一些数据. 当然,我已经使用JAXB技术已有几 ...
- jaxb 命名空间_在JAXB解组期间应用名称空间
jaxb 命名空间 对于某些XML模式来说,它是一组严格的规则,用于规定XML文档的结构方式. 但是对于其他人来说,通常的准则是指出XML的外观. 这意味着有时出于某些原因,人们希望接受不符合XML模 ...
- 在JAXB解组期间应用名称空间
对于某些XML模式来说,它是一组严格的规则,用于规定XML文档的结构方式. 但是对于其他人来说,通常的准则是指出XML的外观. 这意味着有时出于某些原因人们希望接受不符合XML模式的输入. 在此示例中 ...
最新文章
- maven2完全使用手册
- [GO] go使用etcd和watch方法进行实时的配置变更
- 远程桌面连接后远程计算机注销,使用windows8.1 pro的远程桌面,当断开远程桌面时被控制端用户注销问题...
- nginx upstream setting
- windows服务器网站日志,windows服务器网站日志文件
- xss跨站脚本攻击_常见攻击之xss跨站脚本攻击
- 更新QTableView中的进度条状态
- 苹果笔记本能学二级计算机吗,怎么辨别苹果笔记本是不是翻新机
- 卸载所有supervisor残留_拯救C盘!这个良心的卸载工具还是免费的?!
- web开发必备的几个软件
- 浪潮之巅阅读笔记(第四版)_(第一章 帝国的余晖)
- win10定时关机程序
- echarts循环图表
- 诊断某段时间数据库性能抖动问题思路
- 浪潮服务器 虚拟光驱,玩转虚拟光驱:DAEMON TOOLS Pro
- 28335之GPIO输入
- 这应该是把春秋招讲的最清楚的文章了,不接受反驳
- 【FCPX插件】56种标题文本输入逐字出现字幕打字机动画效果 Typing Titles,支持M1芯片!
- STM32机器人控制开发教程No.3 使用遥控控制电机/舵机(基于HAL库)
- android manifest相关属性