2013-05-15 1 views
0

간단한 XML 프레임 워크를 사용하여 Java에서 Iptables XML 구성을 구문 분석하려고합니다.빈 요소에서 읽기

<actions> 
     <DROP /> 
    </actions> 

가 어떻게 드롭 요소는 XML 파일에 존재 내 자바에서 확인할 수 있습니다 : 내가 설정의이 조각처럼 행동 요소에 읽을 붙어

? 필요는 비어있는 것으로 drop을하지 않으려면

@Root(name = "actions") 
public class Actions 
{ 
    @Element(name = "DROP", required = false) 
    private String drop; 


    // ... 

    public String getDrop() 
    { 
     return drop; 
    } 
} 

당신이 로 주석을 달 수 있습니다 :

@Element(name = "DROP", required = true) 
private String drop; 

actions 가정

+0

'동작'에 'DROP'자식 요소가 있는지 확인하려는 경우 'actions/drop'또는 'not (actions/drop)'을 사용하십시오. XPATH 표현 –

+0

어떻게하면 코드에 기록 할 수 있습니까? SImple XML 프레임 워크가 XML 문서를 구문 분석합니다. Java 클래스에 주석을 추가하여 actions 요소 안에 빈 DROP 요소가 있는지 확인하는 방법은 무엇입니까? –

답변

1

이 유사한 클래스에 매핑 drop이 비어 있으면 매개 변수 required = true이 예외를 throw합니다. 빈 drop이 허용되지 않는 경우이 값을 사용할 수 있습니다.

두 번째 방법은 required = false을 설정하는 것입니다. 비어 있다면 다음은 null 직렬화 복원됩니다

@Element(name = "DROP", required = false) 
private String drop; 

// Test if 'drop' is empty: 
Actions a = ... 
boolean isEmpty = (a.getDrop() == null); 

이제 드롭 null (= 빈) 또는 null이 (= 설정)인지 여부를 확인할 수 있습니다. drop이 비어 있거나 문제가 아니거나 필요하지 않은 경우이 값을 사용할 수 있습니다.

세 번째 방법으로 당신은 당신이 당신 자신에 의해 직렬화/역 직렬화를 구현 Converter을 구현할 수 있습니다.

0

빈 요소가 null이 아니고 빈 문자열로 반환되도록 변환기를 작성했습니다.

+0

당신의 질문이 해결 되었습니까?! 그렇다면 * 수락 *으로 표시하십시오. – ollo