2016-12-04 64 views
1
<?xml version="1.0" encoding="UTF-8"?> 
<TVchannel> 
    <month-name month="September"> 
     <channel-name name="IT"> 
      <title>Welcome to IT-TV</title> 
      <image-no-1></image-no-1> 
      <image-no-2></image-no-2> 
      <image-no-3></image-no-3> 
      <image-no-4></image-no-4> 
      <image-no-5></image-no-5> 
     </channel-name> 
     <channel-name name="PTG"> 
      <title>Welcome to PTG-TV</title> 
      <image-no-1></image-no-1> 
      <image-no-2></image-no-2> 
      <image-no-3></image-no-3> 
      <image-no-4></image-no-4> 
      <image-no-5></image-no-5> 
     </channel-name> 
     <channel-name name="HR"> 
      <title>Welcome to HR-TV</title> 
      <image-no-1></image-no-1> 
      <image-no-2></image-no-2> 
      <image-no-3></image-no-3> 
      <image-no-4></image-no-4> 
      <image-no-5></image-no-5> 
     </channel-name> 
    </month-name> 

    <month-name month="October"> 
     <channel-name name="IT"> 
      <title>Welcome to IT-TV</title> 
      <image-no-1></image-no-1> 
      <image-no-2></image-no-2> 
      <image-no-3></image-no-3> 
      <image-no-4></image-no-4> 
      <image-no-5></image-no-5> 
     </channel-name> 
     <channel-name name="PTG"> 
      <title>Welcome to PTG-TV</title> 
      <image-no-1></image-no-1> 
      <image-no-2></image-no-2> 
      <image-no-3></image-no-3> 
      <image-no-4></image-no-4> 
      <image-no-5></image-no-5> 
     </channel-name> 
     <channel-name name="HR"> 
      <title>Welcome to HR-TV</title> 
      <image-no-1></image-no-1> 
      <image-no-2></image-no-2> 
      <image-no-3></image-no-3> 
      <image-no-4></image-no-4> 
      <image-no-5></image-no-5> 
     </channel-name> 
    </month-name> 
</TVchannel> 

我有上面的XML數據文件。我試圖在channel-name =「HR」部分回顯標題。所以,回聲應該是'歡迎來到HR-TV。顯示錯誤SimpleXML對象

這是這樣做的

<?php 
    $picture_container = simplexml_load_file('data.xml'); 
    echo $picture_container->[month-name[0]]->[channel-name[1]]->title; 
?> 

但是我的PHP代碼,當我運行,這是得到這個錯誤 解析錯誤:語法錯誤,意想不到的「[」,期待標識符(T_STRING)或變量( T_VARIABLE)或 '{' 或 '$' 在C:\ wamp64 \ WWW \ POC - 上線3

ITTV \ logic.php請幫助

回答

1

有很多錯誤,在此:

個月名稱或通道名稱不是常量。你不能用它們作爲命令,即使它們是常量,當你聲明一個常量或變量或任何方法或函數時,你不能使用「 - 」字母。 (PHP解釋器瞭解它爲減號操作。)

2.如果您想使用 - !訪問生成的屬性,或喜歡這些鍵,你應該使用這樣的語法:

$something->{'keyword-name'}

這樣你就可以訪問你喜歡簡單的XML生成的屬性:

$picture_container->{'month-name'}[0]['channel_name'][1]->title;

-2

簡單,嘗試使用方括號時取出->操作wrappi NG。類似如下:BTW

<?php 
    $picture_container = simplexml_load_file('data.xml'); 
    echo $picture_container["month-name"][0]["channel-name"][1]->title; 
?> 
1
echo $picture_container->{'month-name'}[0]->{'channel-name'}[1]->title->__toString(); 

,它應該是{'channel-name'}[2]輸出 '歡迎HR-TV'。