问题标签 [simplexml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4124 浏览

php - simplexml_load_file() 有多快?

我正在通过 last.fm 的 API 为我的 mashup 获取大量用户数据。我每周都会这样做,因为我必须收集听力数据。

我通过他们的 REST API 和 XML 获取数据:更具体地说simplexml_load_file()

剧本花的时间长得可笑。对于大约 2 300 个用户,该脚本需要 30 分钟才能仅获取艺术家的姓名。我现在必须修复它,否则我的托管公司将关闭我。我已经排除了所有其他选项,是 XML 减慢了脚本的速度。

我现在必须弄清楚 last.fm 是否有一个缓慢的 API(或者在没有他们告诉我们的情况下限制调用),或者 PHP 的 simplexml 是否实际上相当慢。

我意识到的一件事是 XML 请求获取的数据比我需要的要多得多,但我不能通过 API 限制它(即只给我 3 个波段的信息,而不是 70 个波段)。但是“大”XML 文件只能达到大约 20kb。难道是这样,这会减慢脚本的速度吗?必须为 2300 个用户中的每个用户加载 20kb 到一个对象中吗?

它可能是没有意义的......我只需要确认它可能是 last.fm 的慢速 API。或者是吗?

您还能提供其他帮助吗?

0 投票
2 回答
1167 浏览

php - 使用 PHP 和 SimpleXML 解析 XML,其中项目被命名,或者

我正在尝试从 Archive.org 的搜索功能中解析数据。数据如下所示:

这是完整 XML 的链接

PHP 的 SimpleXML 可以很好地访问每个文档,并且可以很好地读取标记为 str 和 arr 的项目。它是那些标有 float、int 或 long 的项目,它吓坏了,我不知道为什么。

我的解析代码如下:

我尝试过使用 ->children()、->doc 和 ->long 或 ->int。这些似乎都没有拿起 long/int/float 项目。我开始认为这是因为它们是原语,但我不知道如何解决这个问题。

在此先感谢您的帮助。

0 投票
1 回答
426 浏览

php - How to get only required xpath elements?

I have an xml file that I want to store a node's rank attribute in a variable.

I tried:

to no avail, it just prints ArrayArray.

How can this be done?

Henrik's suggestion:

Here you go

0 投票
3 回答
6930 浏览

php - SimpleXML 对象的 PHP、json_encode、json_decode

我的应用程序中的一个函数执行以下操作:

  • 使用 Snoopy 捕获网页
  • 将结果加载到 DOMDocument
  • 将 DOMDocument 加载到简单的 XML 对象中
  • 运行 XPath 以隔离所需的文档部分
  • json_encode 结果并保存到数据库供以后使用。

从数据库中恢复此块并对其进行解码时,出现了我的问题。当我 var_dump 对象时,我可以看到 @attributes,但找不到允许我访问它们的命令组合。

错误消息是:致命错误:不能使用 stdClass 类型的对象作为数组

下面是我的对象的示例。我已经尝试过,除其他外,过去的工作。

0 投票
1 回答
4030 浏览

php - 我在使用 simplexml 解析 facebook 提要时遇到问题

http://www.facebook.com/feeds/share_posts.php?id=207302593&viewer=207302593&key=d95b2de790&format=rss20

上面的链接是我在 Facebook 上共享帖子的 URL。当我将该 URL 加载到 simplexml_load_file() 时,它会提供一整页的错误。查看错误,看起来 Facebook 正在吐出 HTML 而不是提要。我认为这是一个身份验证问题,但我退出了 facebook 并将提要 URL 加载到我的浏览器中,并且我能够看到提要。这是我遇到的错误。有任何想法吗?谢谢!

0 投票
2 回答
2302 浏览

php - 无法解析格式不正确的 XML

我一直在尝试解析这个提要。如果您单击该链接,您会注意到它甚至无法在浏览器中正确解析它。

无论如何,我的托管服务不允许我使用 simplexml_load_file,所以我一直在使用 cURL 来获取它,然后将字符串加载到 DOM 中,如下所示:

但我收到错误(“DOMDocument::loadXML() [domdocument.loadxml]: Entity 'nbsp' not defined in Entity”),然后我尝试使用 SimpleXMLElement 没有运气(它显示相同的错误“解析器错误:实体 'nbsp'未定义”等...因为该元素中的 HTML)。

所以我的问题是,如何跳过/忽略/删除该元素,以便解析其余数据?


编辑:感谢 mjv 的解决方案!...我只是这样做了(对于其他有同样问题的人)

0 投票
1 回答
892 浏览

curl - CURL/PHP/Apache - 为什么这个对 Vimeo 的 CURL/Simplexml 请求不起作用?

下面的函数应该输出一个 Vimeo 缩略图。它不返回任何东西。我已经测试过$id,它正在传递给函数,它是视频的有效 vimeo ID。当我用 替换$out = xxx$out = 'hello';,什么都没有出现。这让我相信 xml 调用中没有返回任何记录。卷曲 7.12.1 已安装。这里还有什么问题?

0 投票
2 回答
274 浏览

php - 使用 SimpleXML 时如何获取对象名称?

如果格式如下,其中 c 是我必须在每次迭代中遍历的对象数组:

我这样做:

$key 出现为空,即使我有有效值。如何获取对象的名称?

0 投票
1 回答
5770 浏览

php - 获取 SimpleXMLElement PHP 中的子级列表

如何获取 xml->request->ABC 中的子级列表 ABC 可能有 DEF、ZZA、XAS、ETC,我想遍历这些子级的列表(需要名称)而不是检查它们是否存在。

-edit- 注意:我正在寻找元素名称。我找到了一个例子,它返回一个已知的属性。我如何获得标签/元素名称?

0 投票
1 回答
866 浏览

php - php XML 和散列/关联数组

使用 PHP 的 SimpleXML 我想获取元素的键和子元素。如果有多个元素,则为第一个元素。我该怎么做呢?第二行没有意义,那么如何获得第一个元素的第一个键/值?