首页 > 解决方案 > xstream 没有解析根元素

问题描述

我正在使用'com.thoughtworks.xstream:xstream:1.4.10'库并尝试解析 xml 文件。

Broker 是根元素,里面还有其他标签

<broker>
   <othertags/>
</broker>

问题是当我生成一个 xml 文件时,它会正确生成,但它无法读取文件。

@XStreamAlias("broker")
public static class Broker {

在文件生成时,它能够将 Broker 类转换为但不能反过来。所有其他类和列表都已正确映射,但根@XStreamAlias在阅读时不起作用。

任何关于为什么的指示都会非常有帮助。

我得到的例外: com.thoughtworks.xstream.mapper.CannotResolveClassException: broker

还有一个问题:在调用 xStream.fromXML(responseString) 时,xStream 如何知道要使用哪个类?假设我有两个具有相同别名的类

标签: javaxmlxml-parsingxstream

解决方案


XStream 默认不处理注解。在 xml 内容的反序列化之前添加以下内容。

XStream xstream = new XStream();
xstream.processAnnotations(Broker.class);

推荐阅读