Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 SimpleXML:添加“引用”;xmlns:wp";属性仅添加“;可湿性粉剂;,为什么?_Php_Xml_Wordpress_Simplexml - Fatal编程技术网

Php SimpleXML:添加“引用”;xmlns:wp";属性仅添加“;可湿性粉剂;,为什么?

Php SimpleXML:添加“引用”;xmlns:wp";属性仅添加“;可湿性粉剂;,为什么?,php,xml,wordpress,simplexml,Php,Xml,Wordpress,Simplexml,我试图从头开始创建WXR文件(WordPress扩展Rss) 我的代码基于wordpress生成的XML/WXR文件,开始时如下所示: <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/" xmlns:content="http://purl.org/rss/1.0/modules/c

我试图从头开始创建WXR文件(WordPress扩展Rss)

我的代码基于wordpress生成的XML/WXR文件,开始时如下所示:

<?xml version="1.0" encoding="UTF-8" ?>

<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.2/"
>
我得到的XML是这样的:

$newxml = new SimpleXMLElement("<rss></rss>");
$newxml->addAttribute('version', '2.0');
$newxml->addAttribute('xmlns:excerpt', 'http://wordpress.org/export/1.2/excerpt/');
$newxml->addAttribute('xmlns:content', 'http://purl.org/rss/1.0/modules/content/');
$newxml->addAttribute('xmlns:wfw', 'http://wellformedweb.org/CommentAPI/');
$newxml->addAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
$newxml->addAttribute('xmlns:wp', 'http://wordpress.org/export/1.2/');
echo htmlspecialchars($newxml->asXML());
<?xml version="1.0"?>
<rss version="2.0" 
     excerpt="http://wordpress.org/export/1.2/excerpt/" 
     content="http://purl.org/rss/1.0/modules/content/" 
     wfw="http://wellformedweb.org/CommentAPI/" 
     dc="http://purl.org/dc/elements/1.1/" 
     wp="http://wordpress.org/export/1.2/">

     <channel/>
</rss>

(我添加了换行符以提高可读性)


如何强制使用完整属性,例如“xmlns:extract”而不是“extract”?

冒号前面的部分称为“namespace”,需要单独指定。因为它是第三个参数:

$newxml->addAttribute ('excerpt', 'http://wordpress.org/export/1.2/excerpt/', 'xmlns');

谢谢这有帮助,但我还有另一个问题,当我需要添加
,但它看起来像是下一个问题的主题:)惊讶:
addChild
也有一个“namespace”参数;)不是真的。我试过这个。我想要类似于此的东西,我得到了。它将其添加为“xmlns”属性。