3

我正在尝试使用 simplexml_load_file($url)

$url = "http://www.example.com/dir/file.php?id=test&output=xml";

现在,不幸的是 simplexml_load_file() 会自动转义所有 & 符号并将它们替换为 "& amp;"s - 这反过来会破坏 file.php,因为由于某些奇怪的原因它无法处理 "&" 但只有普通的&符号。

是否可以在不转义 URL 的情况下以某种方式加载文件,以便我保留常规的 & 而不是“& amp;”?

谢谢!

4

3 回答 3

1

正确的方法是:

$xml = simple_xml_load_file(file_get_contents("http://www.example.com/dir/file.php?id=test&output=xml"));

编辑:

我试过以下代码:

$xml = new SimpleXMLElement(file_get_contents('http://www.example.com/dir/file.php?id=test&output=xml'));

该测试针对我们的 XML API。我已经用嗅探器检查了请求。请求中没有 html 特殊字符,也没有其他编码。

于 2012-04-10T19:25:53.020 回答
0

file()-function,如果您希望将数据存储到数组中。

于 2012-04-10T19:17:27.403 回答
0

我发现这有效:

$xml = simplexml_load_string( file_get_contents( 'http://my.url.com' ) );
于 2013-01-23T21:21:05.720 回答