无法从SimpleXML返回命名空间

时间:2012-10-16 20:50:43

标签: php xml simplexml xml-namespaces

我正在使用谷歌定义的格式和SimpleXML从头开始创建一个新的xml文档。我在返回命名空间标签时遇到问题。为了测试,我写了这个:

<?php

  $output_xml = new SimpleXMLElement('<?xml version="1.0" ?> <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"><channel></channel></rss>');

  var_dump($output_xml->getNameSpaces(TRUE));

返回:

array(0) {
}

我做错了什么?我正在运行PHP 5.3.3版。

1 个答案:

答案 0 :(得分:1)

您没有使用任何定义的命名空间。如果您将“g”命名空间添加到“频道”,那么您将获得http://base.google.com/ns/1.0

$output_xml = new SimpleXMLElement('<?xml version="1.0" ?> <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"><g:channel></g:channel></rss>');

var_dump($output_xml->getNameSpaces(TRUE));