首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从具有多个相同命名的子元素的元素中解析对象。(SimpleXML安卓)

如何从具有多个相同命名的子元素的元素中解析对象。(SimpleXML安卓)
EN

Stack Overflow用户
提问于 2016-01-26 20:34:00
回答 1查看 278关注 0票数 0

我尝试将一些XML解析为对象(Android),并使用简单的XML库。我可以解析一些带有子元素或列表的元素,但是当一个元素有多个具有相同标记名的子元素时,我会得到一个错误:

元素'Item‘已与....一起使用。

我知道具有相同名称的标签是一个问题,但是每个标签都有不同的属性,所以可以用它来解决这个问题。我试了很多次,但就是做不到。

代码语言:javascript
运行
复制
<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>

我尝试了以下几种方法:

代码语言:javascript
运行
复制
@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;
    }

但这并不起作用,因为已经在使用了。我试着把它列成一个列表,但也不起作用。我尝试了更多的东西,但正如我所说的,我做不到。

我想要的是,我有一个Chanel对象,它包含一个或多个包含一个或多个项目的新闻对象。有时只有1个项目,有时会有更多。

EN

Stack Overflow用户

发布于 2016-01-27 17:23:12

我已经找到了解决方案。Insead of

代码语言:javascript
运行
复制
@Root(name = "Channel")
public class Channel
{
    @Elementlist(inline = true)
    private List<News> news;
}

我需要做的是理解。

代码语言:javascript
运行
复制
@Root(name = "Channel")
public class Channel
{
    @Elementlist(name="News")
    private List<String> news;
}

该库自动识别这些项目,并且不再需要将这些项目添加到list.The整个新闻类中。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35013974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档