2010-11-25 260 views
-1

我在阅读XML时遇到麻烦,我跟着this tutorial,并生成了下面的代码。PHP解析错误:解析错误,在codeigniter中期望`T_STRING'或'T_VARIABLE'或'T_NUM_STRING'?

当我打开我的控制,我得到

解析错误:解析错误,在C期待T_STRING' or T_VARIABLE '或'T_NUM_STRING':\ WAMP \ WWW \ ci_doctrine \ SYSTEM \程序\ \控制器上的welcome.php line 49

line 49 is foreach($ xmlData ['item'] as $ row)我不知道该怎么做任何想法,建议?帮助非常感谢

这是我的代码:

<?php 

class Welcome extends Controller { 

/*function Welcome() 
{ 
    parent::Controller(); 
} 

*/ 

function index() 
{ 


    //$this->load->view('welcome_message'); 


    //load the parser library 
    $this->load->library('parser'); 

      $data['title'] = 'Parsing XML using Simplexml class of CodeIgniter'; 

      $data['products'] = $this->_getXML('myxml'); 

     $this->parser->parse('table_view', $data); 

    //$this->load->library('parser'); 
     //$data['title'] = 'Parsing XML using SimpleXML class of CodeIgniter'; 

} 

function _getXML($fname) 
{ 

      $filename = $fname.'.xml'; 
      $xmlfile="“C:\wamp\www\" . $filename; 
      $xmlRaw = file_get_contents($xmlfile); 

      $this->load->library('simplexml'); 
      $xmlData = $this->simplexml->xml_parse($xmlRaw); 

      foreach($xmlData['item'] as $row) 
      { 

     $result .= '<tr>'; 
     $result .= '<td>'.$row['id'].'</td>'; 
     $result .= '<td>'.$row['name'].'</td>'; 
     $result .= '<td>'.$row['category'].'</td>'; 
     $result .= '<td>$ '.$row['price'].'</td>'; 
     $result .= '</tr>'; 

      } 
      return $result; 
    } 

} 
//End of file welcome.php 
// Location: ./system/application/controllers/welcome.php 

?> 

<item> 
    <id>1</id> 
    <name>iPhone</name> 
    <category>Mobile</category> 
    <price>300</price> 
</item> 

<item> 
    <id>2</id> 
    <name>iMac</name> 
    <category>Desktop Computers</category> 
    <price>2500</price> 
</item> 

<item> 
    <id>3</id> 
    <name>MacBook Pro</name> 
    <category>Mobile PC</category> 
    <price>2000</price> 
</item> 

<item> 
    <id>4</id> 
    <name>iTouch</name> 
    <category>Gadgets</category> 
    <price>150</price> 
</item> 

<item> 
    <id>5</id> 
    <name>Wii</name> 
    <category>Gaming</category> 
    <price>1250</price> 
</item> 

<item> 
    <id>6</id> 
    <name>Time Capsule</name> 
    <category>Acessories</category> 
    <price>1000</price> 
</item> 

<item> 
    <id>7</id> 
    <name>Apple TV</name> 
    <category>Gadgets</category> 
    <price>800</price> 
</item> 

+0

您的XML看起来像什么?另外,XSLT。 – 2010-11-25 04:51:28

+0

@Ignacio。我不认为XML或XSLT会导致PHP语法错误 – Ben 2010-11-25 04:53:14

+0

@Ignacio Vazquez-Abrams我没有XSLT – bentham 2010-11-25 04:59:29

回答

2

你已经有了$xmlfile="“C:\wamp\www\"

1

双引号在线路

$xmlfile="“C:\wamp\www\" . $filename; 

您正在使用反斜线,必须转义。将其更改为

$xmlfile="C:\\wamp\\www\\" . $filename; 
相关问题