当我像这样使用$ start var时:
$start = "<?xml version='1.0' encoding='utf-8'?/>";
我收到一个致命错误:
致命错误:未捕获的异常:无法在/home/users/....../test.php:6中将字符串解析为XML:6堆栈跟踪:#0 / home / users / ...... /test.php(6):SimpleXMLElement-> __ construct('<?xml version ='...')#1 {main}放在第6行的/home/users/....../test.php中
如何为XML生成漂亮的格式化XML标记?
$start = "<xml version='1.0' encoding='utf-8' />";
//$start = "<?xml version='1.0' encoding='utf-8'?/>";
$gmXML = new SimpleXMLElement($start);
$offers = $gmXML->addChild('offers');
Header('Content-type: text/xml;');
echo $gmXML->asXML();
我需要的是
<?xml version='1.0' encoding='utf-8'?>
答案 0 :(得分:3)
问题在于<?xml version='1.0' encoding='utf-8'?/>
(尽管总有一个小错误)实际上没有定义XML元素,因为它没有根节点。
使用当前代码,您必须将<offers>
元素添加到XML中才能为其提供实际的元素内容...
$start = "<?xml version='1.0' encoding='utf-8'?><offers />";
$gmXML = new SimpleXMLElement($start);
Header('Content-type: text/xml;');
echo $gmXML->asXML();
还要注意,定义的末尾是?>
而不是?/>
与您的其他XML版本...
$start = "<xml version='1.0' encoding='utf-8' />";
这实际上声明了一个名为<xml>
的根节点。