获取所有子值的XmlPullParser

时间:2013-05-11 21:14:08

标签: android xmlpullparser

如何获取子xml值?

我的意思是:如果xml.getName() = Section给我的Sub值。我想我必须在其中使用while循环,但我无法实现它!

OR是否可以获得父值?

<Top name="Top category">

  <Section name="Sub category 1">
     <Sub note="text" />
     <Sub note="text" />
  </Section>

<Section name="Sub category 2">
     <Sub note="text" />
     <Sub note="text" />
  </Section>

</Top>

...

  while (eventType != XmlPullParser.END_DOCUMENT) {

 if ((eventType == XmlPullParser.START_TAG) &&(_xml.getName().equals("Section"))){
                    String _Section = _xml.getAttributeValue(null, "name");

// take its Sub note values


   }    

 }

}

2 个答案:

答案 0 :(得分:1)

在处理拉解析器时,您必须创建一个对象,以便在遇到该对象的子元素时可以访问它。例如,在这种情况下,无论何时遇到Section的START_TAG,都要创建一个Section对象并将其保存在方法范围之外的变量中。然后,如果您发现另一个START_TAG Sub ,则该部分不为空,则表示您已在某个部分中,并且您需要添加子部分。找到Section的END_TAG后,将当前的Section对象添加到列表中,然后将该变量设置为null

答案 1 :(得分:0)

我建议使用像AQuery这样的好的反序列化库 - https://code.google.com/p/android-query/

我无法与该项目相关联,但似乎它可以更有效,更强大地解决您手头的任务