3

我正在使用 simple-xml ( http://simple.sourceforge.net/ ) 序列化一个类,但是当我尝试在 Point 对象上使用 @Element 时出现错误,我该如何转换这个 Point 对象?

4

2 回答 2

1

你可以像这样创建一个变换

public class PointTransform implements Transform<Point> {

  public Point read(String value) {
     return fromString(value);
  }

  public String write(Point value)  {
     return toString(value);
  }

  // etc ...
}

然后将 Matcher 传递给 Persister 构造函数,以便它可以在给定类的情况下解析您的 Transform。变换仅用于基元,如属性或文本值。它们不应该用于编写 XML,因为它只会在写入结果文档时被转义。最好使用这样的注释。

@Root
public class Point {

  @Attribute
  private int x;

  @Attribute
  private int y;

  public int getX() {
     return x;
  }

  public int getY() {
     return y;
  }
}
于 2009-01-13T18:20:36.743 回答
0

您可以使用 Converter 来序列化需要完整 XML 元素(而不仅仅是具有文本表示)的对象。看:

http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#converters

于 2012-03-19T18:15:03.647 回答