首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何重新构建分页的XML文档?

如何重新构建分页的XML文档?
EN

Stack Overflow用户
提问于 2010-07-05 00:47:28
回答 3查看 132关注 0票数 1

我正在从一个返回分页XML的API中读取。API输出的基本格式为:

代码语言:javascript
运行
复制
<candidates.list page="1" next_page="yes">
  <candidate />
  <candidate />
  <candidate />
</candidates.list>

我的代码是这样的:

代码语言:javascript
运行
复制
while (TRUE) {
  $xml_str = file_get_contents($dest)
  $xml = new SimpleXMLElement($xml_str);

  // What should I do to append subsequent pages to my first page's XML?

  if ( $xml['next_page'] == 'yes' ) {
    $dest = $new_destination;  // I figure out the next page's API query here
  }
  else {
    break;
  }
}

return $xml;

祝你国庆节快乐,谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-05 01:29:30

SimpleXML是不适合这项工作的工具。SimpleXML实际上并不是为添加新节点或执行任何类型的操作而设计的。我切换到使用DOMDocument,并且能够很快地使用appendChild函数创建一个解决方案。

票数 0
EN

Stack Overflow用户

发布于 2010-07-05 00:55:53

我会将下一页的候选项附加到您的$xml中。您已经将XML解析为SimpleXMLElement。或者构建您自己的SimpleXMLElement候选对象数组,如果您只关心这些的话。

顺便说一句,while(1)不是一种好的形式。您可以更改逻辑或使用do/while()循环。

第四次回归快乐!

票数 0
EN

Stack Overflow用户

发布于 2010-07-16 09:47:40

是的,您必须使用基于DOM的解决方案,或者使用(例如) SAX方法动态构建不同的数据结构。DOM不能很好地扩展以获得高吞吐量(对象内存占用非常大),因此如果这是您正在执行的唯一操作,如果需要扩展,则可能需要考虑SAX。

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

https://stackoverflow.com/questions/3175433

复制
相关文章

相似问题

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