php - simplexml_load_file 无法从 URL 获取数据
问题描述
我正在使用simplexml_load_file
函数从包含 XML 内容的 URL 中获取数据。URL中的参数很少,并且simplexml_load_file
可以正常工作。
但是很少有参数包含这些功能&
并且这些simplexml_load_file
功能不起作用。这是我的代码。我尝试urlencoding
了功能,但即使这个功能也不起作用。这就是我的代码的样子
$api_url = urlencode($api_url);
$xml = simplexml_load_file($api_url);
这就是 URL 的样子
https://atlas.atdw-online.com.au/api/atlas/products?key=MYKEY&ar=Merimbula & Sapphire Coast&cats=ATTRACTION&size=10
在上面的 URL 中,您可以看到参数 ar 的值包含 & 并且simplexml_load_file
不适用于这些类型的参数。任何有关此的建议将不胜感激。
解决方案
正如您在 URL 中看到的,与号 (&) 有两个功能:
- 作为URL 参数的分隔符。
- 作为一个字符,它是此类参数值的一部分。
为了避免您的问题中出现的歧义,您通常urlencode() URL 参数值。
然后你会做类似的事情$ar = urlencode('Merimbula & Sapphire Coast');
。如果您无法控制ar
参数的构造方式,那么您必须从“Merimbula & Sapphire Coast”中删除与符号,并将其替换为其他内容(如“和”)。
推荐阅读
- python - Visual Studio 代码和多线程调试问题
- python - 对列表的元素进行分组
- sql - 如何在 Apache BEAM 中使用 Calcite SQL 中的许多元素处理 IN 子句
- r - Stringr str_replace_all 遗漏重复项
- variables - 无法部署 SSIS 包
- python-3.x - 如何在给定的时间范围内从熊猫的其他列中分配特定值?
- c - 为什么 head 的值在 main 和 function 中发生变化?
- postgresql - Post Api 在嵌套 js 中不返回任何响应
- reactjs - React.js / Next.js - 如何从一篇文章链接到另一篇文章?
- php - 获取值的 SQL 简单语句无法正常工作