simple-xml을 사용할 때 Point 객체 변환
-
22-07-2019 - |
문제
simple-xml을 사용하여 클래스를 직렬화하고 있습니다(http://simple.sourceforge.net/) 하지만 Point 개체에 @Element를 사용하려고 하면 오류가 발생합니다. 이 Point 개체를 어떻게 변환할 수 있나요?
해결책
다음과 같이 변환을 만들 수 있습니다.
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 생성자에 전달합니다.변환은 속성이나 텍스트 값과 같은 기본 요소에만 사용됩니다.결과 문서에 기록될 때만 이스케이프되므로 XML을 작성하는 데 사용하면 안 됩니다.이와 같은 주석을 사용하는 것이 가장 좋습니다.
@Root
public class Point {
@Attribute
private int x;
@Attribute
private int y;
public int getX() {
return x;
}
public int getY() {
return y;
}
}
다른 팁
컨버터를 사용하여 텍스트 표현이 아닌 전체 XML 요소가 필요한 객체를 직렬화 할 수 있습니다. 보다:
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#converters
제휴하지 않습니다 StackOverflow