0
我正在反序列化一些XML,我希望能夠輕鬆處理格式略有不同的版本。我是這種XML的消費者,我無法控制格式以使我的工作更輕鬆。該XML的一個版本包含了這樣的內容:SimpleFramework反序列化可以跳過任意深度嗎?
<food>
<entry name="thing1">
<member>apple</member>
</entry>
<entry name="thing2">
<member>orange</member>
</entry>
</food>
我有這樣的一個註解類來分析它:
@Root(strict=false) public static class Food {
@Attribute public String name;
@ElementList(entry="member", inline=true) public List<String> members;
}
到目前爲止好。今天,我發現這個XML的製片人也可以給我這個代表相同的信息:現在
<food>
<name>fruits</name>
<entry name="thing1">
<baz>
<member>apple</member>
</baz>
</entry>
<entry name="thing2">
<baz>
<member>orange</member>
</baz>
</entry>
</food>
該元素是成員進入和之間。如果可能的話,我想要一個可以處理這兩種格式的註釋食品類。這些感覺就像SimpleFramework可以輕鬆處理的,但通過文檔搜索並沒有幫助我。我希望這裏有人知道答案。
如果非要我知道我可以用另一種方法檢測到這種新的模式,然後切換到一個完全不同的一套註解的類,但差異足夠小,我試圖避免這種情況。
除非我誤解「required = false」,我不明白它有什麼用處。我想結束食物POJO中的「成員」成員,並且我想要它解析元素是的直接子元素還是是的子元素,它是的子元素。我會看看Converter –
kbyrd