簡體   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