- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个很容易理解但很难解决的问题(对我来说)。
我有一个像这样的 XML 文件:
<class name='package.AnnotatedClass2'>
<attribute name='field1'>
<attributes>
<attribute name='targetField1name' />
<attribute name='targetField2name' />
</attributes>
</attribute>
</class>
我有另一个包含“属性”标记的 bean(但不存在于 XML 文件中),全局节点:
<class name="package.Example">
<global>
<excluded>
<attribute name ="field3"/>
</excluded>
</global>
</class>
保留 <class>
的 XmlClass标签
public class XmlClass {
/** global configuration */
public XmlGlobal global;
/** list of attributes node */
@XStreamImplicit(itemFieldName="attribute")
public List<XmlAttribute> attributes;
}
XmlGlobal 保留 <global>
标签
public class XmlGlobal {
public List<XmlTargetExcludedAttribute> excluded;
}
@XStreamAlias("attribute")
public class XmlTargetExcludedAttribute {
/** name attribute of class node */
@XStreamAsAttribute
public String name;
}
和 XmlAttribute:
public class XmlAttribute {
/** list of target attributes */
public List<XmlTargetAttribute> attributes;
}
@XStreamAlias("attribute")
public class XmlTargetAttribute {
/** name attribute of attribute node */
@XStreamAsAttribute
public String name;
}
在 xmlAttribute.attributes 中执行 toXml() 方法后,我有两个 XmlTargetExcludedAttribute 实例,而不是 XmlTargetAttribute。
准确地说:XmlTargetExcludedAttribute 和 XmlTargetAttribute 类相同只是为了便于阅读,实际上它们是不同的。
我该如何解释要使用的类?
最佳答案
您可以注册一个本地NamedCollectionConverter
,而不是全局地为两个不同的类添加别名。在每个列表值属性上:
public class XmlGlobal {
@XStreamConverter(value=NamedCollectionConverter.class, useImplicitType=false,
strings={"attribute"}, types={XmlTargetExcludedAttribute.class})
public List<XmlTargetExcludedAttribute> excluded;
}
public class XmlTargetExcludedAttribute {
/** name attribute of class node */
@XStreamAsAttribute
public String name;
}
public class XmlAttribute {
/** list of target attributes */
@XStreamConverter(value=NamedCollectionConverter.class, useImplicitType=false,
strings={"attribute"}, types={XmlTargetAttribute.class})
public List<XmlTargetAttribute> attributes;
}
public class XmlTargetAttribute {
/** name attribute of attribute node */
@XStreamAsAttribute
public String name;
}
关于java - XSTREAM - 类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28940683/
我有一个输入 xml 和相应的 java 类,如下所示。 name street public class Address { private String name; /
我在 Kettle 下使用 XStream 将 XML 反序列化为 Java 对象,但它总是给我带来异常:nodecom.thoughtworks.xstream.mapper.CannotResol
XStream的安全框架未初始化,XStream可能存在漏洞 在使用 XStream (1.4.10) 时,此控制台错误一直显示为红色 我尝试了以下方法: XStream.setupDefaultSe
我正在尝试解析 XML 文档,这是文档的结构 Lily Brown
对于本地转换器,在编码到 XML 时,是否可以访问父对象? 我需要使用来自第三方源的项目编码集合 - 使用存储在父对象中的 id。 唉,似乎没有办法查询通向当前对象的对象路径。或者有吗? 最佳答案 我
我在反序列化 Xml 时遇到 java 泛型和 xstream 的问题。 这是主要的DTO @XStreamAlias("OBJECTX") public class ObjectX { @X
如果你有这样的功能: List getUsers() {} 如果 getUsers 返回一个只有一个元素的 List,则生成的 JSON 只是一个 JSON 对象而不是 JSON 数组。 是否有解决方
我有一个我想用 Xstream 序列化的类结构。根类包含其他对象(不同类型)的集合。我只想序列化存储在集合中的部分对象(主要是它们的 ID,而不是每个元素的剩余内容)。 任何人都知道我该怎么做? 谢谢
这个问题在这里已经有了答案: XStream short dynamic aliases (3 个回答) 5年前关闭。 现在 XStream 使用 class.getName() 作为别名,但我想使用
在 xstream for java 中,有没有办法通过确保对象通过带有参数的特定构造函数来反序列化对象? 最佳答案 XStream(或一般的反序列化)不调用构造函数。 (除了很少使用的纯 Java
使用以下设置时出现 XStream 错误。我一定是疯了。怎么了? 请求类 @XStreamAlias("RequestTO") public class RequestTO { @XStrea
我正在使用 XStream 将我的对象序列化为 XML 格式。我得到的格式化xml如下: node1, node2, node 3 是pojo的属性,DetailDollars 我有一个要求,我必须计
我正在尝试使用 XStream 反序列化 XML。在那里我有对象 A ,它没有默认的构造函数。然后是引用对象A 的对象B。此时,A 已实例化,但所有字段均为空,即使这些值是在 XML 中定义的。 我的
我正在使用 'com.thoughtworks.xstream:xstream:1.4.10' 库并尝试解析 xml 文件。 Broker是根元素,里面还有其他标签 问题是当我生成 xml
我正在使用 XStream,但我在使用特殊字符 á、é、í、ó、ú 和 ñ 时遇到问题。 我尝试过这个: String charset = "UTF-8"; xstream = new XSt
我已经编写了一些代码来为之前写入sql的用户生成密码。然后我想将每个用户的用户名和密码写入xml。该代码似乎工作正常,除了在大约第 200 个用户时它突然停止在 xml 标记中途并结束,这非常奇怪。我
我正在使用 XStream 序列化程序来序列化原语,但在反序列化时遇到了问题。问题描述如下: 比如说,我有: int i = 80; 我将其序列化如下: serializer.toXML(i, new
我正在考虑使用 XStream 库,但我有几个问题/疑虑。 假设我有一个复杂的对象,我想使用 XStream 将其序列化为 XML(或 JSON)。 XStream 是否能够在不需要任何额外工作的情况
如何维护 Set 中未编码子对象的顺序。下面是我的xml,当转换为java对象时,我在集合中得到的顺序不是A、B、C。我怎样才能实现这一目标? 编辑:观察结果: 在我的 Comp
我目前正在使用 XStream 来序列化一些未实现 Serialized 的对象。有没有办法告诉 XStream 如果对象确实实现了 Serialized,则使用 Java 的默认序列化;如果没有实现
我是一名优秀的程序员,十分优秀!