Xml Schema规范是否定义了带有默认的可选属性的序列化?
首先,XML模式规格 指定optional attribute with a default value的解析:如果在XML文档中不存在此类属性,则在用XSD解析时,它们似乎存在,并具有该默认值. 其次,某些工具将此想法应用于序列化,因此省略了具有默认值的属性(换句话说:给定an optional attribute with a default value,当属性具有该值时,省略了). 但是,据我所知,这种序列化行为在XML模式中未指定.但这是一个复杂的规格,也许我错过了它 - 规格是否定义了optional attribute with a default value的序列化? 如果没有,也许它已成为em de em de em exto 标准 - 许多工具是否实现了这种行为?我已经看到Microsoft和Marklogic做到了: c# xml xml oftional属性值的XML序列化 ".net"(一般?)包括XML属性,当值与默认值相同 时 ma
14 2024-04-23
编程技术问答社区
从 2.2.11 版升级到 2.3.0+ 版后,在取消分码 Apache CXF SOAP 响应时出现 JAXB 错误
将以下JAXB依赖项从2.2.11升级到任何> 2.3.0> 2.3.0时发生以下错误时,请在解散响应时发生: javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: unexpected element (uri:"", local:"MessageKey"). Expected elements are 我们可以看到的问题是,它似乎是在没有名称空间的情况下拆除的. 如果我将WSDL更新为elementFormDefault="unqualified"它可以解决此错误,但是我们不想修改WSDL. 我已经使用soapui来验证响应确实具有命名空间,并且在使用jaxb 这些是我们的依赖性: 3.5.0
28 2024-04-23
编程技术问答社区
JAXB--将 SOAP 映射到 Java 类
我需要帮助将我的肥皂信封映射到Java课程,我的意图将结果操纵到DB. 我没有肥皂信封或与DB一起工作的问题,我的问题与jabx在一起并根据我的sopa envoloap绘制我的课程. 这是我的肥皂: A03ODA1YzhlZDQ2MWQAAQ==
26 2024-04-23
编程技术问答社区
一个XSD,两个代码生成工具,两个命名空间
我有一个XSD文件,我也想生成C#和Java类. 我首先根据我的C#名称空间在XSD中设置命名空间.这一代人(带有Microsoft工具)运行良好,并且序列化也很棒,我可以对它们进行XSD验证 - 完美. 现在我想使用JAXB创建Java类. 问题在于,将要创建的类具有与C#中的类不同的软件包结构.因此,当我将XSD名称空间设置为Java的软件包结构时,它可以正常工作.我可以序列化并验证xml. 现在我的问题: 有办法解决这个问题吗? (具有两个生成工具的XSD) 我是否缺乏对命名空间实际需要的理解? 谢谢 编辑:由于似乎有一个错觉,我添加了一个示例 XSD:targetNamespace =" http://foo.bar/mysubns/model" C#modelNamespace:com.foo.mysubns.model(适合XSD名称空间) 所有生成的类都将提供与MS Codegen 的相同名称空间 java modelnamesp
12 2024-04-17
编程技术问答社区
在C#中相当于Jaxb
在Java中使用JAXB,很容易从XML模式文件生成一组Java类,XML符合该模式的XML可以进行. 是否有一些c#等效的jaxb?我知道LINQ可以序列化和从XML文件进行序列化类.但是如何从XML模式文件中生成C#类,然后将此类与Linq? 一起使用. 解决方案 如果您使用的是Visual Studio,尝试其他解决方案 Microsoft有一个更好的工具,称为还请参见这样的问题: xsdobject vs xsdobject vs xsd.exe 其他解决方案 使用数据集进行研究.这与使用" Java Bean"有点不同.整个XML文档都在单个类中均已处理.好的是,实际上强制执行OOP封装理论.哇,微软得到了阳光pooch的事. 无论如何.如果您想让事情变得更有趣,也可以查看类型的数据集.我已经在成功的主要项目上使用了这一点.
16 2024-04-12
编程技术问答社区
如何让JAXB把布尔值渲染成0和1,而不是真和假?
有一个快速的问题.有人知道如何让Jaxb(Marshall)将布尔字段呈现为1和0,而不是打印出" true"和" false"? 解决方案 适配器类: import javax.xml.bind.annotation.adapters.XmlAdapter; public class BooleanAdapter extends XmlAdapter { @Override public Boolean unmarshal( Integer s ) { return s == null ? null : s == 1; } @Override public Integer marshal( Boolean c ) { return c == null ? null : c ? 1 : 0; } } 用法: @XmlElement
16 2024-04-01
编程技术问答社区
如何在jaxb xjc中重命名嵌套类?
我有一个导入模式的WSDL 我正在尝试解析XJC使用相同名称命名多个嵌套的髓样品类 - 它不编译 我在下面创建了此绑定文件,但它给出了错误: parsing a schema... compiling a schema... Exception in thread "main" java.lang.IllegalArgumentException: Illegal class inheritance loop. Outer class MyElementName1 may not subclass from inner class: MyElementName1 at com.sun.codemodel.internal.JDefinedClass._extends(JDefinedClass.java:257) at com.sun.tools.internal.xjc.generator.bean.ImplStructureStrategy$1._exten
18 2024-03-31
编程技术问答社区
在不可修改的领域Java类中覆盖JAXB绑定
我已经花了整整一天的时间试图找出这个问题(包括在此网站上进行大量搜索),但是我找不到解决问题的答案.我正在尝试实现这一目标: 在我无法控制 的XML和一些现有的Java对象之间转换 生成/源XML中元素的名称与Java类属性的名称不同 我仅限于jaxb-2.0 我可能会介绍一个可以包含注释的包装类 让我向您展示我要实现的目标.让我们假设我无法控制这种外观: public class TopNoControlClass { private BottomNoControlClass bottomNoControlObject; public TopNoControlClass(BottomNoControlClass bottomNoControlObject) { super(); this.bottomNoControlObject = bottomNoControlObject; } publ
14 2024-03-31
编程技术问答社区
我如何使用JAXWS和APT定制日期/时间绑定?
IM使用JAXWS 2.1.7,使用一些类通过JAXWS的" APT"运行来生成WSDL.对于日期,我使用 @XmlSchemaType(name="time") private Date wakeupTime; 这会生成带有XS:时间的模式 1901-01-01T01:00:00 +10 我只想要时间部分!我想我想使用自定义转换器说XS:Time + Java.util.date应该以这种方式打印和解析,但是我看不到我可以将绑定文件传递给APT例程.我不能(出于历史和其他原因)使用XMLGregorianCalendar - 必须是java.util.Date.我如何为JAXB中的APT工具指定自定义绑定 解决方案 好的,找到了!阅读此链接: http://weblogs.java.net/blog/2005/04/22/xmladapter-jaxb-ri-ea 并使用javax.xml.bind.ann
22 2024-03-31
编程技术问答社区
WSDL之外的XSD的JAXB绑定
我们正在使用第三方WSDL的WSDL2Java生成Java(意味着我们无法修改他). WSDL包含: 在此XSDSCHEMA中是具有Nillable =" True"的元素,而Generator报告了对象捕获中的冲突(重复).我们尝试使用绑定generateElementProperty =" false".但是在为WSDL定义的绑定定义中,生成器忽略了它,并且在定义XSD WSDL2JAVA的绑定时说,XSD不是汇编的一部分.如何解决它? xjb for wsdl(generateElementProperty被忽略 - 在ObjectFactory中仍然重复错误):
14 2024-03-31
编程技术问答社区
为什么JAXB会说 "xxx是一个接口,而JAXB不能处理接口"。即使生成的类不是一个接口
我使用jaxb绑定XSD,然后尝试创建jaxbcontext: JAXBContext jaxbContext = JAXBContext.newInstance("my package name"); ,但Jaxb给出180个IllegalantationSexception. 大多数例外都有以下消息: xxx是一个接口,JAXB无法处理接口 xxx没有no-arg默认构造函数 @xmlattribute/@xmlvalue需要引用映射到xml中文本的Java类型. 当我查看生成的类时,它们都不是接口,我不明白为什么JAXB将它们解释为接口. 这是JAXB报告的错误之一的堆栈轨迹: com.sc.md.datatypes.schemas.csemessage.EnvelopeType is an interface, and JAXB can't handle interfaces. this problem is related to th
22 2024-03-31
编程技术问答社区
在类型生成过程中使用jaxb绑定替换XmlType.namespace
我的Web-Services应用程序正在从轴上移动到JAX-WS,我很难进行一些转换.我的主要问题是,我有几个XSD,其类型的定义略有不同,但名称相同.在我的WSIMPORT期间,我能够使用外部JAXB绑定文件来解决软件包,但是生成的类仍然以相同的@xmltype注释. v1: package com.service.v1.bill.request; @XmlType(name = "FileBillReqType", namespace = "http://epayments.metavante.com/types/bill/request"}) public class FileBillReqType extends AbstractContextMethodRequest... v2: package com.service.v2.bill.request; @XmlType(name = "FileBillReqType", namespace = "htt
18 2024-03-31
编程技术问答社区
用JAXB进行部分解算
我想对大XML进行部分删除. XML具有以下结构: ... ... ... ... ... 和用XJC生成的结果类: - Records |- Contract 如果我关注这些 获取错误: Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"http://somedomain.com", local:"Contract"). Expected elements are
18 2024-03-31
编程技术问答社区
JAXB将具有相同命名空间的多个文件绑定到同一个包中
我有这样的架构层次结构: common |---legacy | |---legacy.xsd xmlns="http://common/legacy" | |---other.xsd xmlns="http://common/legacy" | '---....xsd xmlns="http://common/legacy" |---send |---file.xsd xmlns="http://common/send" '---text.xsd xmlns="http://common/send" '---....xsd xmlns="http://common/send" 一个文件夹中的所有文件都有相同的名称空间. 现在,我想将名称空间映射到特定的Java软件包(我无法更改名称空间). 我找到了将架构绑定到软件包的解决方案.但是后来
16 2024-03-31
编程技术问答社区
JAXB、自定义绑定、Adapter1.class和Joda-time
我对jaxb生成XML架构的界类的方式有问题(为了精确,我无法修改). 我想将XSD映射到joda time localdate对象,然后读取在这里, ther 和在这里,我创建了以下DateDapter类: public class DateAdapter extends XmlAdapter { private static DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyyMMdd"); public LocalDate unmarshal(String v) throws Exception { return fmt.parseLocalDate(v); } public String marshal(LocalDate v) throws Exception { return v.toString("yyyyM
14 2024-03-30
编程技术问答社区
JAXB: 解除对同一元素有多个名称的xml的传输
我认为这对于真正了解JAXB绑定文件的人来说很容易... 基本问题 您如何将jaxb配置为将多个元素放入同一类? 注意:我想避免将另一个依赖性添加到我的项目中(如Moxy).理想情况下,这可以通过注释或自定义绑定文件来完成. 背景 i有一个XML文档,其中包含相同元素的许多变体 - 具有完全相同的属性.使用下面的示例,我所关心的只是"员工",但XML指定"董事,经理和员工".出于我们的目的,这些都是同一父母的子类,我们只需要与父级类型(员工)一起工作,而我们的对象模型没有或需要子类的实例. 我希望jaxb将director, manager, or staff元素的任何实例绑定到Employee对象中. 示例 输入: Dan Schman
12 2024-03-30
编程技术问答社区
JAXB:匿名简单类型作为枚举?
通过XJC编译器从XSD生成Java时,我始终获取具有匿名simpleTypes的元素的type java.lang.string: 当然,我要为此枚举.有没有办法欺骗XJC生成和使用一个? 我们使用的是JAXB 2.1.3. 注意:在问之前,不,我无法更改架构并将其调整
16 2024-03-30
编程技术问答社区