Я пытаюсь десериализовать следующий XML:
<jdownloader>
<package
package_eta="~"
package_linksinprogress="0"
package_linkstotal="5"
package_loaded="0 B"
package_name="Unchecked"
package_percent="0.00"
package_size="0 B"
package_speed="0 B"
package_todo="0 B" >
<file
file_hoster="hoster_name"
file_name="name"
file_package="Unchecked"
file_percent="0.09"
file_speed="0"
file_status="[Aborted] " >
<file
file_hoster="hoster_name"
file_name="name"
file_package="Unchecked"
file_percent="0.03"
file_speed="0"
file_status="[Aborted] " >
<file
file_hoster="hoster_name"
file_name="name"
file_package="Unchecked"
file_percent="0.05"
file_speed="0"
file_status="[Aborted] " >
</file>
</file>
</file>
</package>
</jdownloader>
Кажется, я не могу заставить простой xml десериализовать это так, как я хочу.
Мне нужно получить объект для пакета (будет несколько пакетов в каждом xml) и список объектов файлов в качестве дочернего объекта объекта пакета.
XML нельзя изменить, и кажется, что каждый элемент файла вложен в предыдущий элемент файла, а не в родительский пакет.
Код, который у меня есть для этого:
@Root(name = "jdownloader")
public class DownloadsModel {
@ElementList(name="package")
public List<PackageModel> Package;
}
@Root(name = "package")
public class PackageModel {
@ElementList(name="file")
public List<FileModel> file;
@Attribute
public String package_eta;
@Attribute
public String package_linksinprogress;
@Attribute
public String package_linkstotal;
@Attribute
public String package_loaded;
@Attribute
public String package_name;
@Attribute
public String package_percent;
@Attribute
public String package_size;
@Attribute
public String package_speed;
@Attribute
public String package_todo;
}
@Root(name = "file")
public class FileModel {
@Attribute
public String file_hoster;
@Attribute
public String file_name;
@Attribute
public String file_package;
@Attribute
public String file_percent;
@Attribute
public String file_speed;
@Attribute
public String file_status;
}
Когда Simple-XML пытается десериализовать xml, он ищет атрибуты файловых элементов в классе пакета.
Может кто-нибудь мне помочь?