jjzjj

base64Binary 的 XmlAdapter 结果为 String

我有一个包含以下内容的XSD文件:当我用xjc生成java代码时,它会产生这个:publicclassCertificate{@XmlElement(required=true,type=String.class)@XmlJavaTypeAdapter(X509CertificateAdapter.class)@XmlSchemaType(name="base64Binary")protectedX509Certificatecertificate;....}适配器工作正常。我的问题是为什么@XmlElement(required=true,type=String.class)?为什么

java - JAXB:具有文本内容和属性的元素,使用 XJC 生成类

最近我遇到了一个似乎很常见的问题:如何用属性和简单的文本内容表示XML元素,如下所示:elemval使用JAXB。我找到了很多关于如何做到这一点的建议,但每一个建议都涉及手动编辑绑定(bind)类。我有一组模式,我使用XJC将这些模式转换为Java类。但是,它似乎产生了错误的代码,即它没有产生设置普通内容的方法,只有设置属性的方法。是否可以修复XJC的这种行为?广泛的谷歌搜索对这个问题没有帮助。 最佳答案 下面是一个XML架构,它为您的用例定义了XML结构。从该XML模式生成JAXB模型将产生以下类:packageforum1285

java - 如何在使用 XJC 生成 JAXB 代码期间重命名顶级类名?

我正在尝试从多个xsd生成一些bean。不幸的是,它们都有相同的根元素。我已成功创建用于重命名子元素的xjc绑定(bind)文件,但找不到选择根节点来更改它的方法。我尝试了以下但得到了错误:[错误]“/”的XPath求值需要产生一个元素。 最佳答案 我想通了。 关于java-如何在使用XJC生成JAXB代码期间重命名顶级类名?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/515

xml - 如何指定 XmlAccessorType 用于 JAXB xjc 生成的类

我正在使用XML模式并使用xjc生成java文件以与JAXB一起使用。生成的java文件具有指定的默认@XmlAccessorType(XmlAccessType.FIELD)。我想更改此设置,以便生成的java文件具有注释的PROPTERY访问权限(@XmlAccessorType(XmlAccessType.PROPERTY)),并且没有在字段级别生成的@XmlElement/@XmlAttribute注释。有没有办法通过自定义绑定(bind)文件来完成此操作? 最佳答案 看起来您不能通过绑定(bind)定制来做到这一点。但是,

java - 使用带有 xml.xsd 导入 : "Failed to read schema document ' xml. xsd 的 XJC 时出错”

我正在尝试在第三方的模式文件(它是Amazon.com的产品API)上运行xjc。好吧,我遇到了麻烦,因为对于其中一个文件default.xsd,xjc对以下导入感到厌烦(它是模式声明之后的第一个导入):我不是XML方面的专家,但我认为xml.xsd是“核心”XML/XSD库的一部分,并且XJC默认情况下会知道该库的详细信息。但是当我运行任务时,我得到了这个错误:[WARNING]schema_reference.4:Failedtoreadschemadocument'xml.xsd',because1)couldnotfindthedocument;2)thedocumentcou

java - 删除使用 xjc 命令生成的 java 文件中的分数

我的xsd架构中有以下几行在生成的java文件中,我有以下代码@XmlEnumValue("SIP2")SIP_2("SIP2"),@XmlEnumValue("CUSIP3")SIP_3("SIP3"),我想删除生成的java文件中的下划线,以便上面的代码看起来像这样@XmlEnumValue("SIP2")SIP2("SIP2"),@XmlEnumValue("CUSIP3")SIP3("SIP3"),有什么方法可以调整xjc命令,使其以上述方式生成java文件?我的架构使用elementFormDefault="qualified" 最佳答案

java - 有什么方法可以使用 JAXB 为集合指定 defaultValue 吗?

我在Java中有这个属性@XmlList@XmlElement(defaultValue="COMMENTSCASE_INSENSITIVE")protectedListregexFlags;已从XJC生成,源自此XSD:不幸的是,这似乎不起作用。默认值未正确解码。当我没有时我得到的值元素实际上只是一个空列表。我究竟做错了什么?使用JAXB甚至可以做到这一点吗? 最佳答案 defaultValue@XmlElement上的属性(property)注解,是JAXB(JSR-222)实现应该交换空元素值的内容。当该元素映射到用@XmlL

java - XJC 的最新官方版本是什么,我在哪里可以得到它?

XJC(XMLJava编译器)是JAXB(JavaXML绑定(bind))的一部分。如果我查看officialwebsite,JAXB的最新版本似乎是2.2.11。这是您刚刚安装最新的JDK版本8u40时得到的。以下输出显示了与JDK8u40相关的XJC版本:../JDK8u40/bin$./javac-versionjavac1.8.0_40../JDK8u40/bin$./xjc-versionxjc2.2.8-b130911.1802(原始JDK路径因操作系统而异,因此这只是示例性表示。)XJC的版本似乎与“最新的”JAXB版本不同,或者最新的JDK不包含最新的JAXB版本。我的

java - JAXB 和无命名空间的 XML

供应商提供的XML如下所示:......请注意,没有xmlns="..."声明,供应商也不提供架构。这是无法更改的,供应商将来会继续以这种方式提供XML。为了生成JAXB绑定(bind),我创建了一个如下模式:...请注意,我已经声明了一个或多或少有意义的namespace(“http://acme.com/schema”),以便它可以用于元素引用等。XJC生成以下package-info.java:@javax.xml.bind.annotation.XmlSchema(namespace="http://acme.com/schema",elementFormDefault=jav

xml - JAXB - XJC 可以将 appinfo 编译到类结构中吗?

我有一个模式,由几个不同的应用程序读取以生成表单;其中之一使用JAXB/XJC来编译其类结构。该架构包含字段友好名称的应用信息信息,例如:Homeaddress有什么方法可以让XJC编译这些信息吗? 最佳答案 您可以使用Annotateplugin将任意Java注释添加到您的模式派生类中。使用此插件,您可以管理如下语法:你会得到类似的东西:@Label("Homeaddress")//FQCNiscom.acme.foo.LabelpublicStringgetHomeAddress(...){}