为了账号安全,请及时绑定邮箱和手机立即绑定

为什么,我收到一个带有注释 $start var 的致命错误?

为什么,我收到一个带有注释 $start var 的致命错误?

PHP
慕娘9325324 2021-10-15 10:19:09
当我像这样使用 $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'?>
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

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


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信