开发者

Unable to load xml with simplexml and PHP

For some reason I can't seem to get the basic example to work, provided by PHP.net. Here's my code:

    $string = "
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. C开发者_如何学Pythonoder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type='thumbs'>7</rating>
  <rating type='stars'>5</rating>
 </movie>
</movies>
"; 

if(!$xml=simplexml_load_string($string)) 
    echo "failed to load xml";
else {

    print_r($xml);

}

All this prints is "failed to load xml". Am I missing an important step here?

Thanks!


Remove the line ending after $string = " so it looks like $string = "<?xml.....


I would reformat your string declaration like in the PHP manual...

$string = <<<XML
<?xml version='1.0'?> 
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;


Looks like it's merely an issue of the line break at the start of your string variable. Change it as below.

$string = "
         ^^^^---- // error here
<?xml version='1.0' standalone='yes'?>
  <movies>
   <movie>
    ...
    ...";

$string = "<?xml version='1.0' standalone='yes'?>
  <movies>
   <movie>
    ...
    ...";


you need to set the xml first the test, also you where missing some curly's

$string = "<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type='thumbs'>7</rating>
  <rating type='stars'>5</rating>
 </movie>
</movies>
"; 
$xml=simplexml_load_string($string);
if(!$xml){
    echo "failed to load xml";
}else {

    print_r($xml);

}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜