草庐IT

java - 为什么在解码期间不使用 ObjectFactory?

我定义了以下ObjectFactory:@XmlRegistrypublicclassObjectFactory{publicDogscreateDogs(){returnnewDogs();}@XmlElementDecl(name="dog")publicDogcreateDog(DogTypevalue){returnnewDog(value);}@XmlElementDecl(name="fido",substitutionHeadName="dog",substitutionHeadNamespace="")publicDogcreateFido(DogTypevalue){

java - Jaxb 使用 "get"而不是 "is"前缀创建 boolean 方法访问器名称

使用jaxb2-maven-plugin和jaxb-xjc,在生成类时,jaxb创建带有get前缀的boolean访问器,但是我希望它使用java约定“is”创建。这是xsd:......创建的方法是;publicBooleangetDisabled(){returndisabled;}但我想要;publicBooleanisDisabled(){returndisabled;}我试过了但没有机会。**已解决**好吧,我终于可以解决问题了,maven使用的是jdk1.8,不知何故使用1.8使它变大了。使用1.6修复它,现在可以正常工作。 最佳答案

java - 我如何在不制作包装器类的情况下编码 Jaxb 元素列表?

缺少实际组成一个writer并将每个元素附加到字符串上。有没有办法让JAXB编码器编码一个对象列表,我可以在其中为其指定顶部元素的名称?我觉得我很接近这个//http://blog.bdoughan.com/2012/07/jaxb-no-annotations-required.htmlpublicStringjaxb(Collectiono,Classclazz,Stringplural){try{ArrayListal=newArrayList(o.size());al.addAll(o);JAXBContextjc=JAXBContext.newInstance(ArrayLi

java - JAXB 可以将 ArrayList 输出为逗号分隔值吗?

我有类似的东西@XmlElementWrapper(name="Mylist")ListmyItems=newArrayList()结果是item1item2item3有没有可能让它更像item1,item2,item3既然我要找的数据都是文本数据? 最佳答案 您可以使用@XmlList使其成为一个空格分隔的值。对于逗号分隔的列表,您需要使用XmlAdapter.有关XmlAdapter的更多信息见:http://bdoughan.blogspot.com/2010/07/xmladapter-jaxbs-secret-weapon

xml - 使用 JAXB 解码 XML 文档的单个元素

我是JAXB的新手。我有一个XML文档,其中一个元素内包含序列化对象:...blah-blah...JAXBxmlblock如何解码此类元素?我写了以下内容:org.w3c.dom.Documentdoc=db.parse(newStringInputStream(rawXml));org.w3c.dom.Elementobj=(org.w3c.dom.Element)doc.getElementsByTagName("serializedElement").item(0);JAXBElementje=um.unmarshal(obj,MyJaxBObject.class);Syste

java - 从具有相似属性名称的 XSD 生成 JAXB 类

我使用maven-jaxb2-plugin从xsd生成带jaxb注释的类。我有很多这样的xsd文件:当我运行maven插件时,它给我一个错误:[ERROR]Errorwhileparsingschema(s).Location[file:schema1.xsd{10,16}].org.xml.sax.SAXParseException:'A3'isalreadydefined有什么办法可以解决这个问题吗?实际上,我有许多XSD表示发送到/来自服务器的请求/响应消息。我想简化消息的创建、验证和解析。也许还有其他解决方案? 最佳答案 我

java - JAXB,解码时如何验证可空字段和必填字段

我有一个关于JAXB的小问题,但不幸的是我找不到答案。我有一个Customer类,有2个字段name和city,映射是使用注释完成的,两个字段都标记为必填且不可为空。@XmlRootElement(name="customer")publicclassCustomer{enumCity{PARIS,LONDON,WARSAW}@XmlElement(name="name",required=true,nillable=false)publicStringname;@XmlElement(name="city",required=true,nillable=false)publicCit

java - JAXB:未定义注释类型 XmlElement 的属性名称

当我尝试为JAXB的XmlElement分配name属性时,我在Eclipse中收到错误:TheattributenameisundefinedfortheannotationtypeXmlElement我的模型类示例:@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassComponents{Componentcomponent;@XmlElement(name="component")//erroronthislinepublicvoidsetComponent(Componentcomponent){this

java - 从 XML 文档、XSLT 和 JAXB 中删除元素

这个问题是我之前问题的后续:CreatingavalidXSDthatisopenusingandelements鉴于我有一个包含以下形式的XML文档的Java字符串:12:121234512:1225-10-2011helloshouldbeignored我如何使用XSLT或类似工具(在Java中使用JAXB)来删除不包含在一组元素中的所有元素。在上面的例子中我只对(TIME,OPTIONAL,DATE)感兴趣,所以我想把它改造成:12:1212:1225-10-2011元素的顺序不固定。 最佳答案 这个转换:应用于提供的XML文

java - JAXB 不生成所有元素类

对于REST服务,我在XML中定义了必要的DTO以生成它的JAXB对象。对于生成,我使用EclipseIDE的内置选项。问题是类没有按预期生成。鉴于下面的XML架构文件,我期望生成3个分类。ImageType、Image和Images。但是不会生成Image元素的Image类。目前我不知道我做错了什么。 最佳答案 您已将Image定义为ImageType类型的元素。Image因此只是与该类型一起使用的名称。ImageType定义将变成一个Java类,当Image元素在您的架构中的某处被引用时,这将导致类型为ImageType的字段注