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

时间:2018-01-11 09:35:51

标签: php xml xml-namespaces

我试图使用PHP从XML文档中获取内容。

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

$xml = simplexml_load_file("courses.xml") or die("Error: Cannot create object");
        $i = 0;
        do {
            echo $xml->channel->item[$i]->title.", <a href='";  
            echo $xml->channel->item[$i]->guid."'>URL</a><br>";
            $i = $i + 1;
        } while ($i < 47);

现在,在XML文档中有这样的元素:

<course:image-thumbnail>https://www.edx.org/image.png</course:image-thumbnail>

我尝试使用PHP调用此元素的内容,就像我调用前面的元素一样,但由于冒号的存在,它似乎不起作用:。

我该如何做到这一点?

我在2天前才开始使用PHP和XML,所以这对我来说真的很新。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不确定image-thumbnail元素所在的位置,但您可以像这样访问它:

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

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