草庐IT

java - JAXB 抛出 InstantiationException 试图编码 xsi :type based on abstract class

我在使用继承和JAXB解码时遇到问题。我已经阅读了很多示例(特别是在http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html上的大量引用博客和此处非常相似的SO问题:JAXBxsi:typesubclassunmarshallingnotworking),但仍然遇到困难。像许多其他问题一样,我正在尝试创建一个对象的XML表示,该对象的字段依赖于子类来获取信息。我在编译时不知Prop体的子类实现是什么,所以XmlSeeAlso之类的东西并不真正可用。在我的测试用例中,我有一个Root类,它有一个抽象类

java - 解码具有嵌套子元素的复杂 xml

我想使用jaxb2解码给定的xml文件。这是源xml文档。Default11111112012-03-01T00:00:00false2012-03-02T00:00:00false为此我定义了以下xsd我使用JAXB为此生成了类,但是当我解码时,我只能获取日历对象,但不能获取日历异常列表中嵌套的“异常”对象。下面的代码会解释上面的内容publicvoidCheckResults(filePath){Rootods=handler.unmarshal(filePath);for(Calendarcalendar:ods.getCalendarList().getCalendar()){

java - 使用 JAXB 将日期从 XML 字符串解码为实体

当我使用JAXB时,出现了问题。我将实体转换为xml字符串,一切正常。但是当我将xml字符串转换回实体时,一些信息丢失了(所有信息都具有相同的类型java.util.Date)。在实体中:publicDateflightBaseDate;在xml中:2013-09-16T00:00:0008:00解码后,getFlightBaseDate()返回null.我用谷歌搜索。根据一项建议,我在我的实体中使用了@。然后是:@XmlElement(name="timestamp",required=true)publicDateflightBaseDate;我相信它会很完美,但是...抛出异常,

java - 使用 Jaxb2Marshaller 防止解析包含 DTD 的 XML 文件

我看到许多使用XMLInputFactory、SAXParser和DocumentBuilderFactory的解决方案。我们的项目是springweb服务,我们唯一要做的是:@BeanpublicJaxb2Marshallerunmarshaller(){Jaxb2Marshallerunmarshaller=newJaxb2Marshaller();unmarshaller.setContextPath("foo");unmarshaller.setProcessExternalEntities(false);returnunmarshaller;}然后我们将这个编码器和解码器传递

java - JAXB Moxy 混合空格丢失

我在解码包含混合内容的XML时遇到问题。空间丢失。XML如下所示:roomsintheEldoradoHotelonBroadwayhaveajacuzzi这被解码为:“房间在”(最后一个空格)一个值为“the”的对象一个值为“EldoradoHotel”的对象“在百老汇有一个按摩浴缸”(有一个初始空间)一切正常,但我缺少两个标签之间的空格。我需要保留那个空间!简化的映射类似于:@XmlTransientpublicabstractclassAbstractText{privateListwords;@XmlMixed@XmlElementRefs({@XmlElementRef(ty

java - JAXB:编码的 XML 中缺少具体类型信息 (xsi:type)

我正在从XSD为SOAPWebService生成JAXB类,我正在为其构建客户端(使用jaxws-maven-pluginv2.4.1生成,wsimport目标)。我遇到一个问题,JAXB在编码我的对象时不会将xsi:type-Information添加到抽象类型的节点。WebService现在(我认为这是理所当然的)提示我试图将元素传递给它而不指定它们是什么类型(“元素的类型定义不能是抽象的...”)。这是一个演示我的问题的简化示例:抽象类型架构:(abstract.xsd)具体类型模式:(concrete.xsd)测试:importcom.example.namespace_con

xml - 如何使用 JAXB 抑制 XSI

JAXB2的默认XML输出如下:17:02:26但我希望它像下面这样:17:01:08寻求帮助,我正在使用JDK6和JAXB2.1 最佳答案 您可以尝试使用@XmlSchema注释并执行以下操作:package-info.java@XmlSchema(elementFormDefault=XmlNsForm.QUALIFIED,namespace="http://projects/open/2012/UniformProxySystem",xmlns={@XmlNs(prefix="xsi",namespaceURI="http:/

java - MOXY 中的 JAXB 继承

我有两个类:packagea;classA{privatefieldOfClassA;//getters,andsetters}packageb;classBextendsA{privatefieldOfClassB;//getters,andsetters}我想将类B编码到一个xml元素并从类A添加属性fieldOfClassB和fieldOfClassA但它在编码期间打印以下警告消息:Ignoringattribute[fieldOfClassA]onclass[b.B]asnoPropertywasgeneratedforit.请注意,这两个类来自两个不同的包,我无法更改此对象模

java - 如何使用 JAXB 或 Jackson 有条件地序列化?外部 View 与内部 View

我正在构建一个RESTfulAPI,我有一个用例,我需要能够呈现我的数据的两个不同View。一个我们可以在内部使用,一个我们将在外部公开。此外,我的API需要同时支持XML和JSON。对于我的JSON响应,使用Jackson非常容易做到这一点。我可以使用JsonViews的功能有条件地在我的JSON响应中包含字段:http://wiki.fasterxml.com/JacksonJsonViews首先您需要创建一个简单的类来指定您的View:publicclassViews{publicstaticclassExternal{}publicstaticclassInternalexte

java - 使用 xsi :nil and attributes in .Net/Jaxb 创建 XML 元素

我有一个XMLSchema说:            ...              这意味着我必须能够创建一个如下所示的实例:根据XMLSchema规范,我可以(http://www.w3.org/TR/xmlschema-0/#Nils)。根据Microsoft.Net,我不能(http://msdn.microsoft.com/en-us/library/ybce7f69(v=vs.100).aspx),据其他人告诉我,Jaxb也不能。.Net和Jaxb都不兼容吗?我可以以某种方式覆盖以获得所需的输出吗? 最佳答案 在JAX