2011-01-19 3 views
35

SimpleXml을 사용하여 POJO를 (비) 직렬화합니다. 자, 필자는 필요하지 않은 요소들을 가진 큰 XML을 가지고있다.문서를 역 직렬화하는 동안 사용되지 않는 XML 요소를 무시하는 방법은 무엇입니까?

@Root 
class Root{ 
    @Element 
    private String element; 
} 

문제는 내가이 예외를 얻고 있다는 것입니다 : 예를 들어,이 XML로 : 같은

<Root> 
    <Element>Used</Element> 
    <Another>Not used</Another> 
<Root> 

나는 보이는 POJO를 만들

simpleframework.xml.core.ElementException: Element 'Another' does not have a 
match in class blah.blah.Blah at line 1 

겠어요 - XML을 올바르게 구문 분석 할 수 있도록 어떻게 POJO를 구성해야합니까?

답변

84

루트 주석에서 strict을 false로 설정하면 클래스에 나타나지 않는 XML 요소 나 속성을 무시합니다.

Root root = serializer.read(Root.class, source, false); 
5

단일 요소

@Element(required=false) 
private int statusCode; 

에 (필수 = false)를 추가 할 수 있습니다 : 당신이 serialiser에서 XML을 읽을 때 또는

@Root(strict=false) 

는 false로 strict 설정 더 많은 요소가있는 경우

@Root(strict=false)