2012-04-11 3 views
0

반복되는 배열 요소가있는 XML이 있는데이를 어떻게 직렬화합니까? Xstream : 배열을 사용하여 XML을 비 직렬화하는 방법

<root> 
<values> 
    <val1>afa</val1> 
    <val2>asgfasg</val2> 
</values> 
<values> 
    <val1>hkjvlk</val1> 
    <val2>sdsdgsdg</val2> 
</values> 
... 
</root> 

XStream xstream = new XStream(new DomDriver()); 
xstream.alias("values", Inventory.class); 
InventoryResult inventory = (InventoryResult) xstream.fromXML(data.toString()); 
나는 목록을 시도했습니다

&

public class InventoryResult { 
    private Inventory values; 
} 

, 재고 [],하지만 그들 중 누구도 작동하지 않습니다.

+0

을 두 변수는 array와 어떻게 같은 이름을 가질 수 있습니까? 그것을 얻지 마십시오 :(어디에서 xml을 가져 왔습니까? 소스는 무엇입니까?) XSD? – titogeo

+0

혼란스러워서 태그 이름이 다릅니다 .xml을 업데이트했습니다. XML의 소스는 – Taranfx

답변

1

우선 전체 XML 문서의 일부입니까? 예 경우

<root> 
    <values> 
     <val1>afa</val1> 
    </values> 
    <values> 
     <val2>hkjvlk</val2> 
    </values> 
    </root> 

이의 직렬화 된 형식입니다

values [] root = {new values("afa", null), new values(null, "hkjvlk")}; 

클래스 값은 내가 자신의 변환기를 작성하는 조언을 것이

class values{ 
    String val1; 
    String val2; 
    public values (String str, String str1){ 
     val1 = str; 
     val2 = str1;     
    } 
} 
+0

xml 태그 가 반복됩니다.이 경우 솔루션이 도움이되는 방법을 모르십니까? – Taranfx

+0

각 값은 루트 배열 요소입니다. 그렇지 않습니까? – titogeo

관련 문제