【发布时间】:2023-03-26 02:35:01
【问题描述】:
我正在使用 PHP 5 并尝试使用 cURL 从网页获取货币汇率。
检索我调用的内容:
$html = curl_exec($ch);
这会正确显示页面。但是,当我尝试使用以下方法将其格式化为 XML 时:
$xml = new SimpleXMLElement($html);
大量警告以“致命错误:未捕获的异常 'Exception' 和消息 'String 无法解析为 XML'”结尾显示
我用过stripslashes($html),关闭了magic_qoutes...
请帮助我找到解决方案,过去 2 天我一直被这个问题困扰。
另外请注意,页面中嵌入了 JavaScript。这是不允许创建 XML 的 JavaScript 吗?
谢谢
【问题讨论】:
-
问题是:你的目标是什么? afaik SimpleXML 类需要有效的结构。由于您收到这些错误,我可以想象该网站无效。你已经检查过这个了吗?你怎么能想在你的 XML 中包含 JS?
-
感谢您的宝贵时间。我的目标是从货币兑换网站提取数据,这就是目标......该网站是`thecurrencyclub.co.uk/currency-exchange-rates-all-band.do`,它看起来格式很好......就JS而言,我是curl新手,所以我想知道如果这个 JS 不允许创建 XML。 P.S JS 不需要
-
我对你可能会得到的性能损失一无所知,但这里有一个简单的 dom 解析,我使用 simplehtmldom.sourceforge.net/manual.htm 对于大多数事情来说,这更容易处理。无论如何:对于复杂的 XML 作品,您应该尝试使用 SimpleXML
-
您尝试抓取的寻呼机不是 XML。也许你应该研究一下 HTML DOM 解析...sourceforge.net/projects/simplehtmldom
-
感谢您抽出时间 Malachi,我发现页面的 XML 格式不正确,我通过手动提取特定选项卡下的数据来相应地更改了解决方案。