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Ó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Ó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);
}
精彩评论