gpt4 book ai didi

java - 如何使 XmlPullParser 返回顶级元素的列表?

转载 作者:行者123 更新时间:2023-12-01 15:46:47 26 4
gpt4 key购买 nike

我一直在使用 XmlPullParser 从本地存储的 xml 文档在 Android 应用程序上生成表单。

XmlPullParser xpp = getResources().getXml(R.xml.calculator);
int eventType = xpp.getEventType();

然后我有一个 while 循环来处理树中的所有元素。但是,因为我一直在使用

eventType = xpp.next(); 

这是一种深度优先的方法,而实际上我想要一种广度优先的方法来做事(用户通过提问来向下钻取树)。大多数 xml 教程都依赖 DOM,我听说由于内存限制,DOM 在 Android 上不可靠。我将非常感谢您的帮助。

xml的格式是这样的

<top>
<page>
<question>This is the first question</question>
<answer>
<text>Answer 1</text>
<page>
<question>If you choose Answer 1 you get asked this question</question>
<answer>
.
.
</answer>
<answer>
.
.
</answer>
</page>
</answer>

<answer>
<text>Answer 2</text>
.
.
.
</answer>

</page>
</top>

我希望这比以前更有意义。因此,实际上,给定这棵树,我想生成屏幕(在运行时)询问用户这些问题并接受他们的答案。根据他们的答案,他们会得到下一组问题。感谢您的快速回复!!

最佳答案

如果您只想获取顶级元素(文档根元素内的元素),那么我建议保留当前元素的 Stack 。当您点击开始时,将元素名称压入堆栈。当您停止时,将元素名称从堆栈中弹出。每当堆栈上有一个元素时,您就有一个顶级元素。

关于java - 如何使 XmlPullParser 返回顶级元素的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com