PHP SimpleXMLElement使用xmlns加载XML

时间:2013-05-01 07:06:27

标签: php xml

我正在尝试使用SimpleXMLElement从URL加载XML文件。

我的代码基本上是这样的:

$xml = new SimpleXMLElement($url, null, true);

$ url是包含XML响应的URL的字符串。如果XML中没有“xmlns”,我可以加载它。当存在“xmlns”时,它将导致运行时错误:

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: http://test.cloudapp.net:8080/api/missiondetails/1:1: parser error : Start tag expected, '<' not found in /var/www/test.com/test.php on line 10

这是XML格式的示例:

<MissionDetails xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Test.DataTransferObject"></Mission>

有人知道如何在根节点中使用“xmlns”加载XML吗?

事先谢谢。

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的PHP? data_is_url构造函数的SimpleXMLElement(3rd)参数仅在5.1.2中添加。

此外,第二个参数应该是一个整数,默认为0

也许尝试使用simplexml_load_file()代替