當我像這樣使用 $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>。
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消