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

对象列表的SimpleXML序列化

邵伟泽
2023-03-14

我试图使用SimpleXML序列化HealthCase类的对象。我能够正确地序列化所有内容,除了测试对象的ArrayList和每个测试对象拥有的图像对象的ArrayList。所有类的每个字段都有适当的访问器和突变器方法,但是当我尝试序列化时,会抛出各种xml复合写入错误,并且不会写入相关的XML文件。

HealthCase类(不包括方法):

@Root
public class HealthCase {
@Element
private String start; //age, chief complaint
@Element
private History history;
@Element
private String physicalState;
@Element
private String diagnosis;
@ElementList(inline=true)
private ArrayList<Test> tests;

测试类别(不包括方法):

@Element
public class Test {
@ElementList(required = false,inline=true)
private ArrayList<Image> images;
@ElementList(required=false)
private ArrayList<String> results;
@Element
private String name;

图像类(不包括方法):

@Element
public class Image{
@Element(required=false)
private String description;
@Element(required = false)
private String name;
@Element(required = false)
private Test relatedTest;

我应该在测试和图像类下使用什么XML标记(如果有的话)?我应该对HealthCase/测试/图像类的XML标记进行任何更改吗?提前感谢!

共有1个答案

姬和豫
2023-03-14

这是因为循环依赖。

您的Test类具有List ofImages,反过来Image引用了Test类。

 类似资料:
  • 我有一个抽象的超类A,我有几个具体的子类B,C,D 在序列化方面,我执行以下操作: 没问题。我现在想反序列化这个。我知道我不能实例化一个抽象类,那么这是如何实现的呢? 这不起作用: 编辑:我把这个添加到我的抽象超类中:(仍然没有运气) 再次编辑:我现在遇到以下错误: 看看JSON,@class不在那里。我怎样才能做到?我试过: 但这并没有奏效。有这方面的例子吗?如何告诉对象映射器对类使用我的注释?

  • 我有以下列表,里面是另一个列表,然后是字符串列表 <代码>列表 示例 除了执行嵌套循环并最终替换列表之外,还有更好的方法吗?也许有溪流?

  • 问题内容: 我正在尝试使用Gson将涉及多态的对象序列化/反序列化为JSON。 这是我的序列化代码: 结果如下: 序列化大多的作品,除了它缺少继承成员的内容(尤其是和字符串丢失)。这是我的基类: 这是我的继承类(ObixOp)的样子: 我意识到我可以为此使用适配器,但是问题是我正在序列化基类type的集合。从中继承大约25个类。我该如何优雅地进行这项工作? 问题答案: 我认为自定义序列化器/反序列

  • 我正在尝试使用Gson将一个涉及多态性的对象序列化/反序列化为JSON。 这是我的序列化代码: 结果是这样的: 序列化主要工作,除了它缺少继承成员的内容(特别是和字符串丢失)。这是我的基类: 下面是我继承的类(ObixOp)的样子: 我意识到我可以使用适配器来实现这一点,但问题是我正在序列化一个基类类型的集合。大约有25个类继承自此。我怎样才能优雅地完成这项工作?

  • 问题内容: 我正在尝试从此graphml创建节点和边缘对象。我有一些很棒的建议,告诉我在进一步研究中使用多个软件包,因为这是我用于simplexml的android实现。 http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#nested 我从节点开始。我已经创建了节点类: 在我的mainActivity中,

  • 我有这样一个实体: 和相关的JSON: 我试图在Spring MVC@Controller中以如下方式对其进行反序列化: 添加