草庐IT

jaxb-episode

全部标签

java - Castor XML 绑定(bind)和 JAXB 绑定(bind)有什么区别

CastorXML和JAXB绑定(bind)之间有什么区别,因为两者都是将java对象绑定(bind)到XML,反之亦然。更新:使用Castor我可以做到这一点假设packageA.ClassA和packageB.ClassA具有相同的属性和类名,只是它们位于不同的包中。packageA.ClassA->XML->packageB.ClassA如果我正在将此Marshall对象packageA.ClassA转换为XML,然后从XML解码为对象packageB.ClassA,则使用JAXB我遇到了转换错误。 最佳答案 请注意,JAXB

java - 406 在使用 Jackson、Rome 和 JAXB2 的 Spring MVC 应用程序(OSGi、Virgo Web 服务器)中 Not Acceptable

我刚刚开始学习VirgoWeb服务器。我正在尝试在SpringMVC应用程序中使用JakcsonJSON。在这个阶段我不能得到一个GET请求序列化的对象。服务器返回“406NotAcceptable”:Theresourceidentifiedbythisrequestisonlycapableofgeneratingresponseswithcharacteristicsnotacceptableaccordingtotherequest"accept"headers().使用Rome和JAXB2时会出现同样的问题。这里是项目配置文件和代码:片段pom.xml:org.codehau

java - 在没有 Maven 或 ANT 的情况下以编程方式将 WsImport 与 JAXB 插件一起使用?

我正在使用WsImport从远程WSDL文件生成一些Java源代码。请注意,这是从常规Scala项目内部进行的,即它不是在Maven或Ant构建中完成的:importcom.sun.tools.ws.WsImportdefrun(wsdlFile:File,destination:File,packageName:String="generated"):Seq[File]={sys.props("javax.xml.accessExternalDTD")="all"sys.props("javax.xml.accessExternalSchema")="all"valxjcArgs="

java - 为 JAXB 中生成的每个类生成唯一的可序列化 ID

我正在使用antwsimport从wsdls生成客户端stub。另外,我想生成实现Serializable的客户端类。我想为每个类生成不同的serialVersionUID。我尝试使用如下所示的绑定(bind)文件。但它为所有类生成相同的serialVersionUID。有什么方法可以为每个类(class)提供我自己的serialVersionUID吗?绑定(bind)配置 最佳答案 仅作记录,无法为每个生成的类生成唯一的serialVersionUID,因为这样做没有意义。让我解释一下:serialVersionUID表示您的类在

java - 使用导入的 XSD 和绑定(bind)生成 JAXB 类

我正在尝试从导入x.xsd和y.xsd的common.xsd生成类。common.xsd如下:我尝试使用一个绑定(bind)文件,该文件指定一个由生成的类实现的公共(public)接口(interface)。我的绑定(bind)文件如下:jaxb:extensionBindingPrefixes="inheritance"version="2.1">jaxb.BaseMessagejaxb.BaseMessage我试图生成代码,但它提示说:[ERROR]XPathevaluationof"xsd:complexType[@name='Customer']"resultsinemptyt

java - 如何在 Jaxb 编写的 XML 中添加 <![CDATA[ 和 ]]>

如何使用CDATA准备XML,我正在通过Jaxb预先准备此回复,]]>但是我没有从Jaxb获得CDATA,如何将CDATA放入元素。这是我的Java代码:publicstaticStringtest1(){try{initJB();Stringresponse=null;StringBufferxmlStr=null;StringstrTimeStamp=null;com.cultagent4.travel_republic.gm.Envelopeenvelope=null;com.cultagent4.travel_republic.gm.Headerheader=null;com.

java - JAXB 将不需要的 namespace 声明附加到标记

我正在实现XMPP的自制子协议(protocol),并且我正在使用StAX和JAXB的组合来解析/编码消息。当我整理一条消息时,我最终得到了大量不需要的命名空间声明:compton@ilf代替:compton@ilf有什么办法可以改变吗?所有这些namespace都用在由JAXB编码/解码的不同消息中,但每条消息都使用一个namespace。附言。我不是XML专家,如果我犯了一些愚蠢的错误,请不要责备我;) 最佳答案 您正在寻找的功能是在issue103中请求作为JAXB问题跟踪器的增强功能的。.增强功能被拒绝了,因为JAXB作者发

java - JAXB Fragment Marshal 不带命名空间

我正在使用JAXB_FRAGMENT属性让我的编码器在工作集级别进行编码。问题是,当我编码时,它每次都会为WorkSet元素提供xmlns属性。有没有办法进行编码,使其不附加xmlns属性?这是我的XML的样子。...........这是我用来创建上面的代码:FileOutputStreamfos=newFileOutputStream("import.xml");XMLStreamWriterwriter=XMLOutputFactory.newFactory().createXMLStreamWriter(fos);JAXBContextjc=JAXBContext.newInst

java - JAXB XML 适配器通过注释而不是通过 setAdapter 工作

我完全了解如何使用XMLAdapters至convertunmappabletypes,或者只是更改某些对象序列化/反序列化为XML的方式。如果我使用注释(包级别或其他),一切都很好。问题是我试图更改我无法更改源代码的第三方对象的表示(即为了注入(inject)注释)。考虑到Marshaller对象有一个用于manuallyaddingadapters的方法,这应该不是问题。.不幸的是,无论我做什么,我都无法让适配器以这种方式“启动”。例如,我有一个类表示XYZ空间(地心坐标)中的一个点。在我生成的XML中,我希望将其转换为纬度/经度/高度(大地坐标)。这是我的类(class):地心p

java - 是否有生成生成器的 JAXB 插件?

您是否知道为生成的JAXB类生成生成器模式类的任何好的JAXB插件?使用JAXB生成的类组成域真的很讨厌。我看到有人在2010年写了一个插件,但它没有使用最新的maven插件jaxb2-maven-plugin,它还要求您为每个不健壮的模式类型指定绑定(bind)。 最佳答案 是的,现在有一个插件可以为JAXB生成的类生成流畅的构建器。上有一个github项目https://github.com/mklemm/jaxb2-rich-contract-plugin它包含几个有用的JAXB插件。您可以从github下载源代码和二进制文件