我很困惑为什么这不起作用我可以回应test.xml
<?php
$xml = simplexml_load_file('test.xml');
$movies = new SimpleXMLElement($xml);
echo $movies->movie[1]->plot;
?>
答案 0 :(得分:2)
当您加载XML数据时,有两种方法可以执行此操作。您可以将XML文件的内容作为字符串加载,然后将该字符串传递给Simple XML:
$fileContents = file_get_contents('test.xml'); # reads the file and returns the string
$xml = simplexml_load_string($fileContents); # creates a Simple XML object from a string
print_r($xml); # output is a Simple XML object
...或者,您将文件直接加载到Simple XML Object:
$xml = simplexml_load_file('test.xml'); # Instantiates a new Simple XML object from the file, without you having to open and pass the string yourself
print_r($xml); # output is a Simple XML object
参考文献: http://us2.php.net/manual/en/function.simplexml-load-file.php
http://us2.php.net/manual/en/function.simplexml-load-string.php
答案 1 :(得分:2)
无需同时执行这两项操作,simplexml_load_file
和创建新的SimpleXML
对象。
simplexml_load_file
已将XML 文件解释为对象。 (请记住,它不接受XML字符串)
$movies = simplexml_load_file('test.xml');
或者,您可以直接将XML 字符串加载到SimpleXML
对象中。
$movies = new SimpleXMLElement(file_get_contents('test.xml'));
上述任何一种方法都可用于执行以下操作:
echo $movies->movie[0]->plot;