Мой класс помечается, какTrouble десериализации XML с помощью SimpleXML
@Root
public class Geonames {
@Path("intersection/street1")
@Element
public String street1;
@Path("intersection/highway1")
@Element
public String highway1;
@Path("intersection/street2")
@Element
public String street2;
@Path("intersection/highway2")
@Element
public String highway2;
@Path("intersection/lat")
@Element
public String lat;
@Path("intersection/lng")
@Element
public String lng;
@Path("intersection/distance")
@Element
public String distance;
}
XML-как таковой:
<geonames>
<intersection>
<street1>11th Street</street1>
<highway1>residential</highway1>
<street2>Campbell Street</street2>
<highway2>unclassified</highway2>
<lat>37.8098123</lat>
<lng>-122.2969874</lng>
<distance>0.07</distance>
</intersection>
</geonames>
Но я получаю ошибку:
05-26 23:46:46.511: E//RequestProcessor.java:250(23618): Caused by:
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy
@org.simpleframework.xml.Element(data=false, name=, required=true, type=void) on field
'street1' public java.lang.String com.mosier.securityapp.geonames.Geonames.street1 for
class com.mosier.securityapp.geonames.Geonames at line 4
Это показывает, что улица1 не имеет значения, но, конечно, это так. Моя аннотация или класс должны быть настроены неправильно, но я слишком новичок в этом, чтобы понять, что происходит. Есть ли легкое решение, которое я пропускаю?
точки --Когда реализации сериализации/де-сериализации сценарий я всегда делаю сериализации первым, чтобы исключить неверную XML, и --Если вы имеете ошибку на первом элементе так ли вероятно, у вас есть фундаментальная проблема со всем этим. - вам нужен geonames/intersection/.. а не просто пересечение/.. в вашем @Path –
Я считаю, что я тоже пробовал, получил разные ошибки. Я смог решить это, сделав это как вложенные объекты, а не используя более сложные @Paths. Хорошая точка в сериализации. Я рассмотрю ваше решение. – deepwinter