当前位置: 首页 > 知识库问答 >
问题:

Xstream不明确的xml标记

万俟亦
2023-03-14
<response>
    <plant>
        <Name />
        <Description />
        <KeyValues>
            <entry>
                <Key />
                <Value />
            </entry>
            <entry>
                <Key />
                <Value />
            </entry>
            <entry>
                <Key />
                <Value />
            </entry>
        </KeyValues>
        <Tasks>
            <entry>
                <Title />
                <Text />
            </entry>
            <entry>
                <Title />
                <Text />
            </entry>
        </Tasks>
    </plant>
</response>
public class Plant extends BaseModel {
    private String Name;
    private String Description;

    private List<KeyValue> KeyValues;
    private List<Task> Tasks;
}
com.thoughtworks.xstream.converters.ConversionException: Cannot construct java.util.Map$Entry as it does not have a no-args constructor : Cannot construct java.util.Map$Entry as it does not have a no-args constructor
---- Debugging information ----
message             : Cannot construct java.util.Map$Entry as it does not have a no-args constructor
cause-exception     : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message       : Cannot construct java.util.Map$Entry as it does not have a no-args constructor
class               : java.util.Map$Entry
required-type       : java.util.Map$Entry
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
ath                : /response/plant/KeyValues/entry
line number         : 1
class[1]            : java.util.ArrayList
converter-type[1]   : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[2]            : com.example.android.stadseboeren.model.Plant
version             : 0.0
-------------------------------

有谁能帮我解决这个问题吗?

干杯达安

共有1个答案

后阳炎
2023-03-14

好吧,所以作为一个好公民,我会把答案贴在这里,因为我想出来了。

最后,我创建了一个额外的类,它本质上只是条目列表的一个持有者。

public class KeyValues extends BaseModel {

    @XStreamImplicit(itemFieldName="entry")
    private ArrayList<KeyValueEntry> entries;
}

使用XStreamImplicit,我可以将entry对象绑定到ArrayList。

 类似资料:
  • 问题内容: 我目前使用如下所示的XML 我所坚持的是,在使用XStream时,我需要能够忽略出现的某些标签(在“ FavOS”上方的情况下),这些标签可能未知或将来会更改。有没有办法忽略所有与当前实现的不匹配的标签? (使用XStream 1.3.1) 问题答案: 由于我花了超过15分钟的时间才能找到此答案,因此我认为应该发布它。 这似乎会跳过不在您的对象中的xml项。

  • 我相信一定有一些方法可以指定用来解析XML对象的类,但我无法理解XStream属性的本质或本质。 如有任何帮助,将不胜感激。

  • 我正面临XML声明的问题。我想从XML文件中省略XML声明。为此,我在XSLT文件中编写了下面的代码。

  • 我定义了一个类来存储我的应用程序的配置数据。我想将其实例保存到xml并为此使用XStream。但是当我尝试编写实例时,我总是遇到内存错误。 这是我的类定义: ...等所有标准getter和setter 下面是我将单个对象导出为xml的处理程序 每次我抛出“线程中的异常”JavaFX应用程序线程“java.lang.OutOfMemoryError:java堆空间”。我不明白为什么这么简单的类会抛出

  • 问题内容: 我有以下代码: 在最后一行,我收到此错误: 下标使用不明确 我该如何解决? 这段代码已经工作了一段时间,但是随着xcode 7.1的升级,它中断了并停止了工作。 问题答案: 您必须告诉编译器该行中的中间对象是什么 语句之后,编译器不知道他正在处理哪种对象。您必须告诉它是或其他: 当然,您还应该确保可以进行所有强制转换,并且json内的对象确实属于预期类型。 通过直接转换为以下数组,仅使

  • 如何编写java类来读取此XMl文件 我试过这样 但我得到了这个错误 请帮我解决这个问题。。。 非常感谢。