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 ...
}

次に、クラスを指定して Transform を解決できるように、Matcher を Persister コンストラクターに渡します。変換は、属性やテキスト値などのプリミティブのみに使用されます。結果のドキュメントに書き込まれるときにのみエスケープされるため、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 に答える