草庐IT

Unmarshalling

全部标签

xml - 使用 Groovy 解码 JAXB

我正在尝试为以下xml创建模型类:N29002Akeyfieldwasmissingfromthecontrolxml29004Unabletoacceptmessagesatthistime这是我的Response.class@XmlRootElement(name="Response")@XmlAccessorType(XmlAccessType.FIELD)classResponse{@XmlElement(name="Success")privateStringsuccess@XmlElement(name="Errors")privateErrorserrorspublicS

java解码LocalDateTime

这是我的适配器类:publicclassLocalDateTimeAdapterextendsXmlAdapter{@OverridepublicLocalDateTimeunmarshal(Stringv)throwsException{returnnewLocalDateTime(v);}@OverridepublicStringmarshal(LocalDateTimev)throwsException{returnv.toString();}}这是我要存储日期的对象类:@XmlAccessorType(XmlAccessType.FIELD)publicclassObject{

java - Jax-b 在解码时解释太多

我有一个名为a的boolean字段和两个方法voidsetA(Stringa)和booleanisA()。我已经设置了@XmlAccessorType(XmlAccessType.NONE)并使用了@XmlAttribute作为setter。因为getter返回一个boolean值,但setter需要一个字符串JAX-B只是忽略了这个setter。这是代码中各种错误的原因,因为boolean值设置不正确,调试非常烦人。有没有办法告诉JAX-B使用setter?为什么JAX-B完全被getter方法搞糊涂了,我虽然使用XmlAccessType.NONE阻止了所有隐式解释?如果出现这样的

java - 我们可以在解码期间在运行时决定 jaxb 类吗?

有什么方法可以在运行时决定我想将XML解码到哪个java类中?我试过用这种方式解码代码-publicObjectunmarshallXml(StringxmlReq,StringclassName){StringmyClass=className+".class";Objectinstances=null;try{JAXBContextjc=JAXBContext.newInstance(myClass);Unmarshalleru=jc.createUnmarshaller();StringBufferxmlStr=newStringBuffer(xmlReq);StringRead

java - 使用架构问题的 XSD 验证

我有一个像这样的xml文件11118-02-20151219-02-2015..我有一个无法更改的XSD文件,在该文件中,日期必须采用某种格式。并且可以有1000个“subRequest”标签条目。我创建了一个架构验证来检查格式。所以我的问题出在这1000个条目中,如果只有2个条目的日期格式不正确,我怎么知道这2个条目的ID。当我使用JAXB(unmarshaller)将此xml转换为bean时,我正在检查它。我使用了模式验证,并且validator.getLocalizedMessage()为对象和节点都提供了null。我只能看到lineNumber和有关问题格式的一般消息。

Java XML 解码在使用 JAXB 的符号 (&) 上失败

我有以下XML:...Test&Address...当我尝试使用JAXB解码它时,它抛出以下异常:Causedby:org.xml.sax.SAXParseException:Thereferencetoentity"Address"mustendwiththe';'delimiter.atorg.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(UnknownSource)atorg.apache.xerces.util.ErrorHandlerWrapper.fatalError(UnknownSo

java - 解码不属于命名空间的 xml 元素

我有一个来自网络服务的xml响应:1234John500Errorwhileprocessingtherequest.Pleasecontactcustomercare当xml模式采用这种格式时,我该如何解码。是根元素的一部分.我正在使用Restful客户端并使用resttemplate向服务器发出请求。我的applicationcontext.xml使用org.springframework.http.converter.xml.MarshallingHttpMessageConverter用于编码和解码请求和响应XML。 最佳答案

java - JAXB 解码具有不同属性的相同元素 (lang)

我有一个RESTxml提要,具有以下语言区分用法Letní2001/2002Summer2001/2002除了名称之外,lang属性出现在多个不同的元素中。有没有一种方法可以让我根据所选语言仅使用一个元素轻松解码它?或者得到一个List或更好的Map两者?我知道我可以通过为每个元素创建一个不同的类来做到这一点,但我不想仅仅因为语言选择就为每个资源创建五十个类。编辑:我还没有考虑过MOXy,如果仅靠JAXB无法做到这一点,我可能不得不考虑。 最佳答案 注意:我是EclipseLinkJAXB(MOXy)JAXB(JSR-222)的领导

java - 如何一起使用 @XmlMixed 、 @XmlElement 和 @XmlValue ?

我已经看过一些与此相关的讨论,但无法在以下场景中应用。我正在尝试使用jaxb解码xml。以下是我所有类(class)的层次结构。@XmlRootElement(name="entry")classEntryextednsBase{@XmlElementprivateStringid;@XmlElementprivateStringname;@XmlElementRef@XmlMixedprivateBeginbegin;@XmlElementRef@XmlMixedprivateEndend;@XmlElementRefprivateListlinks;//Gettersetters}

java - 使用 JAXB 解码 XML 而无需转义字符

想象以下情况:我们从一些外部工具收到一个xml文件。最近在这个xml中,节点名称或它们的richcontent标签中可能有一些转义字符,如以下示例(简单):IamaNoteforNodeää!在使用JAXB解码文件后,那些转义字符将被取消转义。不幸的是,我需要他们保持原样,意思是逃脱。有什么方法可以避免在解码时对这些字符进行转义?在研究过程中,我发现了很多关于编码xml文件的问题,但这些问题都没有帮助我:Question1Question2是否有可能使用JAXB实现这个目标,或者我们是否必须考虑更改为不同的xml读取器API?先谢谢你,伊梅内