我正在使用SimpleXmlConverterFactory的Retrofit 2。我要做的是从这里解析falues XML link
如果某天链接过时,这是我试图解析的XML的简短示例。
<?xml version="1.0" encoding="windows-1251" ?>
<ValCurs Date="29.03.2017" name="Foreign Currency Market">
<Valute ID="R01010">
<NumCode>036</NumCode>
<CharCode>AUD</CharCode>
<Nominal>1</Nominal>
<Name>Russian name1</Name>
<Value>43,3058</Value>
</Valute>
<Valute ID="R01020A">
<NumCode>944</NumCode>
<CharCode>AZN</CharCode>
<Nominal>1</Nominal>
<Name>Russian name2</Name>
<Value>32,8637</Value>
</Valute>
<Valute ID="R01035">
<NumCode>826</NumCode>
<CharCode>GBP</CharCode>
<Nominal>1</Nominal>
<Name>Russian name3</Name>
<Value>71,6658</Value>
</Valute>
</ValCurs>
以下是我要解析响应的类:
@Root(name = "Valute")
public class CbrValute {
@Element(name = "Name", required = false)
private String name;
@Element(name = "Value", required = false)
private String value;
@Element(name = "ID", required = false)
private String currencyId;
@Element(name = "Nominal", required = false)
private String nominal;
@Element(name = "CharCode", required = false)
private String charCode;
@Element(name = "NumCode", required = false)
private String numCode;
}
回应:
@Root(name = "ValCurs")
public class CbrResponse {
@Attribute(name = "Date")
private String date;
@Attribute(name = "name")
private String name;
@ElementList(name = "Valute")
private List<CbrValute> valuteList;
}
每次我运行应用程序时,我都会遇到不满足该值的崩溃:
Caused by: org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.Element(data=false, name=ID, required=true, type=void) on field 'currencyId' private java.lang.String com.tryue.news18.repository.dto.CbrValute.currencyId for class com.tryue.news18.repository.dto.CbrValute at line 4
或者该值已在使用中(当我将所有字段设为不需要时):
Element 'Valute' is already used with @org.simpleframework.xml.ElementList
所以看起来我在开始时犯了一些错误,但我不知道如何追踪它。请帮忙!