如何从xml解析器中读取数据

时间:2011-04-08 06:08:54

标签: iphone xml

我正在使用xml解析器从xml文件中读取数据。在这个文件中它有这么多记录。但我想读取数据(例如在这个文件中我有200条记录,但在表视图中,它首先应该加载10条记录,之后我会保留一个按钮来点击和之后单击它应该加载它应该从XML文件解析的下10条记录。)是否有任何解决方案。帮助我解决这个问题。

5 个答案:

答案 0 :(得分:1)

我认为,您必须一次性阅读XML文件,那么您可以做什么.... 你可以使用两个数组..一个用于持有200个记录,另一个用于持有10个然后20个等等... 您的第二个阵列将由您的UITableView使用... 当您在第二个数组中添加更多项目时,只需调用reloadData

UITableView函数即可

这是有用的SO帖子

What steps should be taken to convert my XML into Core Data objects?

xCode: convert XML file to CoreData model

答案 1 :(得分:0)

您好,我也面临同样的tableview问题。许多解决方案符合您的要求 1.将整个数据分解并放入数组并将动态数据加载到tableview中,优点是滚动速度快 2.编写查询并根据单元格值获取数据。

在表视图中,每个具有id的单元格都使用数组索引。

答案 2 :(得分:0)

我只是提出一个想法,但如何使用bool和计数器?您可以在readElement代码中创建一个巨大的if语句,例如

if (counter < 10) 
{ do nothing; } 
else 
{ parse; }

实际上,10可以用第二个计数器代替。每次重新加载表时,都会创建全局变量anotherCounter++,因此if语句将为if (counter < 10*anotherCounter) {

当然,这种方法并没有真正跳过这些条目。但是,我的猜测是,如果他跳过所有解析并一次性运行解析器而不处理数据,它应该至少快一点。

答案 3 :(得分:0)

如果您有大量数据,那么我建议您在请求xml数据(如0到10)时设置no数据并解析它并在需要更多数据时显示在表中,您可以再次请求表单10到20并且parese并再次显示在tableview中。

我想如果您有静态数据,即数据不经常变化

,它将起作用 祝你好运

答案 4 :(得分:0)

您还没有说过您正在使用哪种环境。这是一个独立的桌面应用程序,服务器端Web应用程序,还是在浏览器中运行的交互式应用程序?解决方案在每种情况下都有所不同,因为它们在用户交互之间都有不同的保留数据的方式(“应用程序状态”或“部分结果”)。