使用simplexml_load_file加载文件

时间:2012-03-06 20:51:48

标签: php simplexml

我很困惑为什么这不起作用我可以回应test.xml

<?php
$xml = simplexml_load_file('test.xml');

$movies = new SimpleXMLElement($xml);

echo $movies->movie[1]->plot;
?> 

2 个答案:

答案 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;