Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP处理XML内容(具有名称空间)?_Php_Xml_Xml Namespaces - Fatal编程技术网

如何使用PHP处理XML内容(具有名称空间)?

如何使用PHP处理XML内容(具有名称空间)?,php,xml,xml-namespaces,Php,Xml,Xml Namespaces,我正在尝试使用PHP从XML文档中获取内容 这是我当前获取常规XML元素(标题和URL)的代码 $xml=simplexml\u加载文件(“courses.xml”)或die(“错误:无法创建对象”); $i=0; 做{ echo$xml->channel->item[$i]->title.,; $i=$i+1; }而($i{''}。查找xmlns:course命名空间定义(如属性)。该值是实际的命名空间课程只是一个别名,用于使XML更易于人类阅读/编写。有几种SimpleXML方法允许您将名称

我正在尝试使用PHP从XML文档中获取内容

这是我当前获取常规XML元素(标题和URL)的代码

$xml=simplexml\u加载文件(“courses.xml”)或die(“错误:无法创建对象”);
$i=0;
做{
echo$xml->channel->item[$i]->title.,
; $i=$i+1; }而($i<47);
现在,在XML文档中有这样的元素:

<course:image-thumbnail>https://www.edx.org/image.png</course:image-thumbnail>
https://www.edx.org/image.png
我尝试使用PHP调用此元素的内容,方法与调用前面的元素相同,但由于冒号的存在,它似乎不起作用:

我怎样才能做到这一点

我两天前才开始使用PHP和XML,所以这对我来说是全新的


感谢您的帮助。

不确定您的
图像缩略图
元素位于何处,但您可以通过以下方式访问它:

$xml->children('courses', true)->{'image-thumbnail'}[0];

如果某个节点包含非法的PHP变量字符(如本例中的hpyhen),则需要使用括号
->{''}

查找
xmlns:course
命名空间定义(如属性)。该值是实际的命名空间<代码>课程只是一个别名,用于使XML更易于人类阅读/编写。有几种SimpleXML方法允许您将名称空间作为参数提供,并且您可以为Xpath表达式注册自己的别名。Duplicate是“SimpleXML\u load\u file namespaces”在Google上的第一个热门搜索结果,所以下次请在询问之前尽可能少地进行研究,谢谢。Meh,谁在乎呢。
$xml->children('courses', true)->{'image-thumbnail'}[0];