使用XStream读取XML进行对象处理时,如果我不知道XML将具有多少个字段怎么办?

债务人

我已经设置了一个从XML读取的系统,但是我需要在读取XML之前手动构建该对象。

XML:

<actor id="" PGFVersion="" GSCVersion="">
  <attributes>
    <text id="name">Actor 1</text>
    <real id="time">0</real>
    <point id="position">
      <real id="x">0</real>
      <real id="y">0</real>
    </point>
    <size id="size">
      <real id="width">0</real>
      <real id="height">0</real>
    </size>
    <angle id="rotation">0</angle>
    <color id="color">
      <real id="red">0</real>
      <real id="green">0</real>
      <real id="blue">0</real>
      <real id="alpha">0</real>
    </color>
    <image id="image">0</image>
    <text id="tags">tag1  tag2</text>
    <boolean id="preloadArt">true</boolean>
  </attributes>
</actor>

我如何设置对象:

public class Attributes {

    @XStreamImplicit
     public List fields = new ArrayList();

  public Attributes(){

      this.addText("name", "Actor 1");
      this.addReal("time", "0");
      this.addPoint("position", "0", "0");
      this.addSize("0", "0");
      this.addAngle("rotation", "0");
      this.addColor("0", "0", "0", "0");
      this.addImage("0");
      this.addText("tags", "tag1  tag2");
      this.addBoolean("preloadArt","true");


  }

  public void addText(String id, String value){
      Text text = new Text(id,value);
      this.fields.add(text);
  }

  //other adders

}

但是我应该对字段的随机计数该怎么办。如果<color>我将阅读XML上的2个字段怎么办如何做到这一点?

安德烈

通常,XStream对象具有表示XML中字段的字段。请参阅XStream教程Person中的-object

如果您拥有这种类型的对象,我认为您应该能够使用该color属性来注释@XStreamImplicitXML 以处理XML中的多次出现。

这段未经测试的代码:

public class Attributes {

    // 'name' and 'text' occurs only once.
    public String name;

    public String text;

    public Size size;

    // The other attributes

    // color can occur multiple times.
    @XStreamImplicit
    public int color;

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果不知道Zsh的键绑定怎么办?

来自分类Dev

我有此错误,我不知道该怎么办

来自分类Dev

当我不知道需要的数据类型时该怎么办?

来自分类Dev

Kotlin:返回泛型类型的函数。如果我不知道应该返回哪种具体类型该怎么办?

来自分类Dev

使用特定的DLL库时,内存分配非常高。也许。不知道该怎么办

来自分类Dev

使用特定的DLL库时,内存分配非常高。可能是。不知道该怎么办

来自分类Dev

我的CNN Keras预测不正确,我也不知道该怎么办

来自分类Dev

我想每页只显示10行。但是我不知道怎么办?

来自分类Dev

如果我不知道深度是多少,如何在 Javascript 中动态处理嵌套对象?

来自分类Dev

Mysql不知道触发器,我该怎么办?

来自分类Dev

Apple Mach-O Linker错误,我不知道该怎么办

来自分类Dev

当我不知道其中有多少个文本框时,应该如何处理多个文本框?

来自分类Dev

当您不知道有多少个整数时,如何从char字符串中读取整数?(在C中)

来自分类Dev

Objective-C中的异步编程:我觉得这里有重复的代码,我不知道该怎么办

来自分类Dev

Objective-C中的异步编程:我觉得这里有重复的代码,我不知道该怎么办

来自分类Dev

如果在不知道变量类型的情况下必须声明变量,该怎么办?

来自分类Dev

如果我不知道每个列表中有多少个数字,如何将给定数量的数字列表作为输入?

来自分类Dev

如果我不知道他们的ID,如何检查选中了多少个复选框

来自分类Dev

无法卷曲图片。不知道该怎么办

来自分类Dev

vlookup中的数据不可用错误:不知道该怎么办

来自分类Dev

用户返回nil。不知道该怎么办

来自分类Dev

不知道该怎么办一个纯PHP页面

来自分类Dev

以div为中心;不知道该怎么办

来自分类Dev

JavaScript通过计数对象(不知道有多少个对象)来拆分JSON字符串

来自分类Dev

如果我没有在 maven pom.xml 中指定 java 的源和目标版本怎么办?

来自分类Dev

如果我不知道每秒有多少次运行,那么如何获得相同的输出?

来自分类Dev

如果我的所有 PHP 页面在使用 Apache2 时都是空白的,我该怎么办?

来自分类Dev

当将angularjs控制器拉入其他文件时,如果我的模块没有首先加载怎么办?

来自分类Dev

我需要使用ArrayList类对数组进行排列。我不知道怎么了

Related 相关文章

  1. 1

    如果不知道Zsh的键绑定怎么办?

  2. 2

    我有此错误,我不知道该怎么办

  3. 3

    当我不知道需要的数据类型时该怎么办?

  4. 4

    Kotlin:返回泛型类型的函数。如果我不知道应该返回哪种具体类型该怎么办?

  5. 5

    使用特定的DLL库时,内存分配非常高。也许。不知道该怎么办

  6. 6

    使用特定的DLL库时,内存分配非常高。可能是。不知道该怎么办

  7. 7

    我的CNN Keras预测不正确,我也不知道该怎么办

  8. 8

    我想每页只显示10行。但是我不知道怎么办?

  9. 9

    如果我不知道深度是多少,如何在 Javascript 中动态处理嵌套对象?

  10. 10

    Mysql不知道触发器,我该怎么办?

  11. 11

    Apple Mach-O Linker错误,我不知道该怎么办

  12. 12

    当我不知道其中有多少个文本框时,应该如何处理多个文本框?

  13. 13

    当您不知道有多少个整数时,如何从char字符串中读取整数?(在C中)

  14. 14

    Objective-C中的异步编程:我觉得这里有重复的代码,我不知道该怎么办

  15. 15

    Objective-C中的异步编程:我觉得这里有重复的代码,我不知道该怎么办

  16. 16

    如果在不知道变量类型的情况下必须声明变量,该怎么办?

  17. 17

    如果我不知道每个列表中有多少个数字,如何将给定数量的数字列表作为输入?

  18. 18

    如果我不知道他们的ID,如何检查选中了多少个复选框

  19. 19

    无法卷曲图片。不知道该怎么办

  20. 20

    vlookup中的数据不可用错误:不知道该怎么办

  21. 21

    用户返回nil。不知道该怎么办

  22. 22

    不知道该怎么办一个纯PHP页面

  23. 23

    以div为中心;不知道该怎么办

  24. 24

    JavaScript通过计数对象(不知道有多少个对象)来拆分JSON字符串

  25. 25

    如果我没有在 maven pom.xml 中指定 java 的源和目标版本怎么办?

  26. 26

    如果我不知道每秒有多少次运行,那么如何获得相同的输出?

  27. 27

    如果我的所有 PHP 页面在使用 Apache2 时都是空白的,我该怎么办?

  28. 28

    当将angularjs控制器拉入其他文件时,如果我的模块没有首先加载怎么办?

  29. 29

    我需要使用ArrayList类对数组进行排列。我不知道怎么了

热门标签

归档