问题标签 [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.
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。或者是吗?
您还能提供其他帮助吗?
php - 使用 PHP 和 SimpleXML 解析 XML,其中项目被命名,或者
我正在尝试从 Archive.org 的搜索功能中解析数据。数据如下所示:
这是完整 XML 的链接。
PHP 的 SimpleXML 可以很好地访问每个文档,并且可以很好地读取标记为 str 和 arr 的项目。它是那些标有 float、int 或 long 的项目,它吓坏了,我不知道为什么。
我的解析代码如下:
我尝试过使用 ->children()、->doc 和 ->long 或 ->int。这些似乎都没有拿起 long/int/float 项目。我开始认为这是因为它们是原语,但我不知道如何解决这个问题。
在此先感谢您的帮助。
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
php - SimpleXML 对象的 PHP、json_encode、json_decode
我的应用程序中的一个函数执行以下操作:
- 使用 Snoopy 捕获网页
- 将结果加载到 DOMDocument
- 将 DOMDocument 加载到简单的 XML 对象中
- 运行 XPath 以隔离所需的文档部分
- json_encode 结果并保存到数据库供以后使用。
从数据库中恢复此块并对其进行解码时,出现了我的问题。当我 var_dump 对象时,我可以看到 @attributes,但找不到允许我访问它们的命令组合。
错误消息是:致命错误:不能使用 stdClass 类型的对象作为数组
下面是我的对象的示例。我已经尝试过,除其他外,过去的工作。
php - 我在使用 simplexml 解析 facebook 提要时遇到问题
上面的链接是我在 Facebook 上共享帖子的 URL。当我将该 URL 加载到 simplexml_load_file() 时,它会提供一整页的错误。查看错误,看起来 Facebook 正在吐出 HTML 而不是提要。我认为这是一个身份验证问题,但我退出了 facebook 并将提要 URL 加载到我的浏览器中,并且我能够看到提要。这是我遇到的错误。有任何想法吗?谢谢!
php - 无法解析格式不正确的 XML
我一直在尝试解析这个提要。如果您单击该链接,您会注意到它甚至无法在浏览器中正确解析它。
无论如何,我的托管服务不允许我使用 simplexml_load_file,所以我一直在使用 cURL 来获取它,然后将字符串加载到 DOM 中,如下所示:
但我收到错误(“DOMDocument::loadXML() [domdocument.loadxml]: Entity 'nbsp' not defined in Entity”),然后我尝试使用 SimpleXMLElement 没有运气(它显示相同的错误“解析器错误:实体 'nbsp'未定义”等...因为该元素中的 HTML)。
所以我的问题是,如何跳过/忽略/删除该元素,以便解析其余数据?
编辑:感谢 mjv 的解决方案!...我只是这样做了(对于其他有同样问题的人)
curl - CURL/PHP/Apache - 为什么这个对 Vimeo 的 CURL/Simplexml 请求不起作用?
下面的函数应该输出一个 Vimeo 缩略图。它不返回任何东西。我已经测试过$id
,它正在传递给函数,它是视频的有效 vimeo ID。当我用 替换$out = xxx
时
$out = 'hello';
,什么都没有出现。这让我相信 xml 调用中没有返回任何记录。卷曲 7.12.1 已安装。这里还有什么问题?
php - 使用 SimpleXML 时如何获取对象名称?
如果格式如下,其中 c 是我必须在每次迭代中遍历的对象数组:
我这样做:
$key 出现为空,即使我有有效值。如何获取对象的名称?
php - 获取 SimpleXMLElement PHP 中的子级列表
如何获取 xml->request->ABC 中的子级列表 ABC 可能有 DEF、ZZA、XAS、ETC,我想遍历这些子级的列表(需要名称)而不是检查它们是否存在。
-edit- 注意:我正在寻找元素名称。我找到了一个例子,它返回一个已知的属性。我如何获得标签/元素名称?
php - php XML 和散列/关联数组
使用 PHP 的 SimpleXML 我想获取元素的键和子元素。如果有多个元素,则为第一个元素。我该怎么做呢?第二行没有意义,那么如何获得第一个元素的第一个键/值?