0

如何获取子 xml 值?

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

或者是否有可能获得父值?

<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


   }    

 }

}
4

2 回答 2

1

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

于 2013-05-11T21:38:54.127 回答
0

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

我与该项目没有任何关系,但似乎它可以更有效、更稳健地解决你手头的任务

于 2013-05-12T10:49:03.497 回答