2016-08-12 102 views
1

我試圖加載一些xml文件與simplexml_load_string但即時通訊有問題這樣做,如果在屬性我使用雙引號......事情是,我(想)我做到了這一點之前用雙引號工作正常,所以我不知道/明白爲什麼失敗。這是XML我嘗試加載:PHP simplexml_load_string()麻煩雙引號

<?xml version="1.0" encoding="UTF-8"?> 
<order> 
    <products> 
     <product title=」Rimmel Lasting Finish Lipstick 4g」 price=」4.99」> 
      <category>Lipstick</category> 
     </product> 
     <product title=」Sebamed Anti-Dandruff Shampoo 200ml」 price=」4.99」> 
      <category>Shampoo</category> 
     </product> 
    </products> 
    <total>9.98</total> 
</order> 

我得到的錯誤是: PHP Warning: simplexml_load_string(): Entity: line 4: parser error : AttValue: &quot; or ' expected in Orders.php on line 42

則錯誤繼續(如果有任何需要我會後)。 PHP的是:

$getXmlString = file_get_contents("../xmls/order_x.xml"); 
$orderLoaded = simplexml_load_string($getXmlString); 
echo 'xml: '.$orderLoaded; 

這不打印,因爲解析器錯誤的東西... 任何線索?

+0

上的事情,我忘了說的是,如果我取代了單引號雙引號它的工作原理...我只是好奇,爲什麼它不與雙打(和什麼是最簡單的方法來取代它們?) –

+1

那些不是雙引號,他們是「聰明的引號」。您是否從某處複製/粘貼XML文件? – Phylogenesis

+0

XDDDDDD我知道答案會揭示我是多麼愚蠢!你是對的@植物發生,這是錯誤的:P –

回答

2

這是因爲你的XML使用智能引號,而不是雙qoutes

<?xml version="1.0" encoding="UTF-8"?> 
<order> 
    <products> 
     <product title=」Rimmel Lasting Finish Lipstick 4g」 price=」4.99」> 
      <category>Lipstick</category> 
     </product> 
     <product title=」Sebamed Anti-Dandruff Shampoo 200ml」 price=」4.99」> 
      <category>Shampoo</category> 
     </product> 
    </products> 
    <total>9.98</total> 
</order> 

應該

<?xml version="1.0" encoding="UTF-8"?> 
<order> 
    <products> 
     <product title="Rimmel Lasting Finish Lipstick 4g" price="4.99"> 
      <category>Lipstick</category> 
     </product> 
     <product title="Sebamed Anti-Dandruff Shampoo 200ml" price="4.99"> 
      <category>Shampoo</category> 
     </product> 
    </products> 
    <total>9.98</total> 
</order>