繁体   English   中英

为什么,我用注释$ start var得到致命错误?

[英]Why, I am getting a Fatal Error with commented $start var?

当我使用$ start var时:

$start = "<?xml version='1.0' encoding='utf-8'?/>";

我收到一个致命的错误:

致命错误:未捕获异常:在/home/users/....../test.php:6中无法将字符串解析为XML堆栈跟踪:#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'?>

问题是<?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>根节点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM