jjzjj

UnMarshaller

全部标签

java - Unmarshalexception 意外元素,预期元素是(无)

当我想反序列化已从字节数组序列化的JAXBElement时遇到问题。我有异常(exception):Exceptioninthread"main"javax.xml.bind.UnmarshalException:unexpectedelement(uri:"",local:"Avizo").Expectedelementsare(none)atcom.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:647)atcom.sun

java - 如何将运行时数据注入(inject)使用 JAXB 解析 XML 时创建的对象

我必须解析一个复杂的XML文档。我的模型中的一些类实现接口(interface)HasDate:interfaceHasDate{publicvoidsetDate(Datedate);}创建unmarshaller的日期是已知的://hereIknowthedate.JAXBContextctx=JAXBContext.newInstance("com.mycompany.mymodel");Unmarshallerunmarshaller=ctx.createUnmarshaller();unmarshaller.unmarshal(input);我想在JAXB解析文档时为实现Ha

java - JAXB Unmarshaller - 意外的元素异常

我使用JAXB解析器将通过http请求发送的XML转换为Java对象,同时根据我的XSD模式对其进行验证。问题是当调用unmarshal()方法时会引发此异常:javax.xml.bind.UnmarshalException:unexpectedelement(uri:"http://www.somedomain.com/",local:"assign").Expectedelementsare(none)如果我从我的根XML元素中删除命名空间,它会引发相同的异常,其中uri部分为空:javax.xml.bind.UnmarshalException:unexpectedelemen

xml - JAXB 中 UnMarshaller 和 Parser 的区别

谁能解释一下JAXB中UnMarshaller和Parser的区别。我读过UnMarshaller用于从XML文档中检索值。解析器也做同样的事情。任何人都请解释区别。例如:考虑下面的例子zoo.xmlVandalurZoo12321LionWild使用UnMarshaller,JAXBContextjaxbContext=JAXBContext.newInstance("com.javapapers.xml.jaxb");Unmarshallerunmarshaller=jaxbContext.createUnmarshaller();JAXBElementzoo=(JAXBEleme

java - 使用带有 namespace 和模式的 Jaxb 进行 XML 解码

我有一个如下所示的XML文档:MsgID001hlkJKLHljkhkjlHKJLHkjl6y987HJKH还向我发送了一个架构文档(称为msgdata.xsd)。我正在使用JAXB将上述xml文档解码为Java对象。解码代码如下所示:finalJAXBContextcontext=JAXBContext.newInstance(clazz);SchemaFactorysf=SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);Schemaschema=sf.newSchema(newFile("C:\\temp\\

用于解码 JAXB 对象的 Java 泛型

我有以下代码将xml解码为Java对象。我想看看是否可以通过使用Java泛型而不是使用对象类型作为返回值来增强此代码。protectedstaticObjectunmarshall(Stringxml,Classclazz)throwsJAXBException{JAXBContextjc=JAXBContext.newInstance(clazz);Unmarshallerunmarshaller=jc.createUnmarshaller();Objectobj=unmarshaller.unmarshal(newStringReader(xml));returnobj;}任何建议

java - 如何将大型 XML 文件转换为 stream-like-java 8 对象

你好,我有一个(非常)大的XML文件(100GB),其中包含一个foo列表,我想将它转换成一个流,就像它们引入对象的java8一样:有关于库或代码示例的想法吗?开头:......最后:StreamfoosStream=????("foo.xml")streamFoos.forEach(foo->foo.doFooStuffs());编辑:@Pierre谢谢,这是您的解决方案的实现:try{XMLEventReaderreader=XMLInputFactory.newInstance().createXMLEventReader(stream);finalUnmarshallerunm

xml - 使用 JAXB 验证模式

我一直在寻找解决这个问题的方法太久了,考虑到它听起来很简单,所以我来寻求帮助。我有一个XML架构,我已将其与xjc一起使用来创建我的JAXB绑定(bind)。当XML格式正确时,这会很好地工作。不幸的是,当XML格式不正确时,它也不会提示。当我尝试解码XML文件时,我无法弄清楚如何针对模式进行正确的完整验证。我已经设法使用ValidationEventCollector来处理事件,它适用于XML解析错误,例如不匹配的标签,但在需要标签但完全不存在时不会引发任何事件。据我所知,可以针对模式进行验证,但您必须知道模式的路径才能将其传递给setSchema()方法。我遇到的问题是模式的路径存

java - 在非映射元素上产生 JAXB 错误

我正在尝试做相反的事情:JAXB-Ignoreelement也就是说,我正在尝试使用JAXB将XML解析为POJO,如果JAXBNOT为给定元素找到匹配的Java属性,我希望JAXB失败。我知道我可能会进行架构验证,但我宁愿不这样做。例子:@XmlRootElement(name="Dog")publicclassDog{privateStringname;publicStringgetName(){returnname;}publicStringsetName(Stringname){this.name=name};}这个XML会失败:blahStuff因为没有idJava属性

java - NoClassDefFoundError : Unable to load class groovy. xml.jaxb.JaxbGroovyMethods 由于缺少依赖项 javax/xml/bind/Unmarshaller

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我们的Gradle构建有--add-modules=java.xml.bind,java.activation,java.xml.ws.annotation至options.compilerArgs在JavaCompile使用JDK9/10构建。现在效果很好,但这些模块已被弃用。我想为JDK11做准
12