相关疑难解决方法(0)

无法使用PHP的SimpleXML向属性添加命名空间

我正在创建一个Atom提要,当我在下面尝试添加xmlns:i属性时 -

$node->addAttribute("xmlns:i","http://www.w3.org/2001/XMLSchema-instance"); 
Run Code Online (Sandbox Code Playgroud)

我把它作为输出 -

i="http://www.w3.org/2001/XMLSchema-instance"
Run Code Online (Sandbox Code Playgroud)

"xmlns:"部分被切断了.我是否需要逃避:字符?或者他们是否有其他方式来添加此命名空间?

php simplexml xml-namespaces

9
推荐指数
2
解决办法
1万
查看次数

SimpleXML声明了xmlns:xmlns ="" - 无法删除

如此真气,我几乎无法说话.我已经使用SimpleXML组装了一个RSS提要 - 但它正在使用名称空间,现在就是这样.但是,当输出时,它会不断尝试在根节点中声明xmlns:xmlns ="".即使我没有这样的事情.

它始于

$rssXML->addAttribute("version", '2.0');
$rssXML->addAttribute("xmlns:media", "http://search.yahoo.com/mrss/", '');
$rssXML->addAttribute("xmlns:dcterms", "http://purl.org/dc/terms/", '');
Run Code Online (Sandbox Code Playgroud)

在此之后我做: -

header("Content-Type: application/rss+xml");

echo $syndicationXML->asXML();
Run Code Online (Sandbox Code Playgroud)

然而它输出: -

<?xml version="1.0"?>
<rss xmlns:xmlns="" version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/"><channel>...
Run Code Online (Sandbox Code Playgroud)

我不明白所有这个名称空间声明.这是怎么回事?

php xml rss simplexml xml-namespaces

4
推荐指数
1
解决办法
4152
查看次数

标签 统计

php ×2

simplexml ×2

xml-namespaces ×2

rss ×1

xml ×1