【问题标题】:Can't return namespace from SimpleXML无法从 SimpleXML 返回命名空间
【发布时间】:2012-10-16 20:50:42
【问题描述】:

我正在使用谷歌定义的格式和 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 版。

【问题讨论】:

    标签: php xml simplexml xml-namespaces


    【解决方案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));
    

    【讨论】:

    • 为清晰起见进行了编辑(等待同行评审):命名空间已定义,只是没有在任何地方使用
    猜你喜欢
    • 2014-03-21
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多