【发布时间】:2023-03-05 13:53:01
【问题描述】:
我正在尝试在 php 中学习 XML,但是在使用命名空间时有些东西我不明白。
这是我的代码
$xml_data = new SimpleXMLElement("<rss xmlns:g=\"http://base.google.com/ns/1.0\" version=\"2.0\"></rss>");
$make = $xml_data->addChild('channel');
$make->addChild('g:model', 'foo', 'g');
$make->addChild('g:model', 'bar', 'g');
header ("Content-Type:text/xml");
print_r($xml_data->asXML());
当我在互联网上查看指南时,我希望得到这个。
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
<g:model>foo</model>
<g:model>bar</g:model>
</channel>
</rss>
但我明白了
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
<g:model xmlns:g="g">foo</model>
<g:model xmlns:g="g">bar</g:model>
</channel>
</rss>
为什么我会得到这个额外的 xmlnsg:="g",它有什么作用?查看其他提要,他们似乎没有得到这个?
提前致谢!
【问题讨论】: