gpt4 book ai didi

php - SimpleXML:添加 "xmlns:wp"属性仅添加 "wp",为什么?

转载 作者:行者123 更新时间:2023-12-04 05:12:01 28 4
gpt4 key购买 nike

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

我的代码基于 XML/ wordpress生成的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/"
>

我是这样开始的:
$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/');

在此之后,我会像这样打印 XML:
echo htmlspecialchars($newxml->asXML());

我得到这样的 XML:
<?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:excerpt”而不仅仅是“excerpt”?

最佳答案

冒号前的部分称为“命名空间”,需要单独指定。对于 addAttribute 它是第三个参数:

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

关于php - SimpleXML:添加 "xmlns:wp"属性仅添加 "wp",为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14813082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com