我尝试将一些XML解析为对象(Android)并使用Simple XML库。我可以解析一些带有子元素或列表的元素,但是当一个元素有多个具有相同标记名称的子元素时,我会收到一个错误:
元素'项目'已经与....一起使用了
我知道具有相同名称的标签是个问题,但每个标签都有另一个属性,因此可用于解决该问题。我尝试了很多,但我无法完成它。
<Channel>
<News>
<Item kind="dunno">
//An string with some info
</Item>
<Item kind="anotherOne">
//An string with some info
</Item>
<Item kind="Pfff">
//An string with some info
</Item>
</News>
</Channel>
我尝试了以下内容:
@Root(name = "Channel")
public class Channel
{
@Elementlist(inline = true)
private List<News> news;
}
@Root(name = "News")
public class News
{
@Element(name = item)
private String item;
}
但这不起作用因为alrealy使用的项目。我试着把它列为一个列表,但也不起作用。我尝试了更多的东西,但正如我所说,我无法完成它。
我想拥有的是我有一个Chanel对象,其中包含一个或多个包含一个或多个项目的新闻对象。有时候只有一件物品,有时甚至更多。
答案 0 :(得分:0)
我找到了解决方案。 Insead of
@Root(name = "Channel")
public class Channel
{
@Elementlist(inline = true)
private List<News> news;
}
我需要做出理解。
@Root(name = "Channel")
public class Channel
{
@Elementlist(name="News")
private List<String> news;
}
库自动识别将这些项添加到列表中的项目。不再需要整个新闻类。