Загрузка файла с помощью simplexml_load_file - PullRequest
3 голосов
/ 07 марта 2012

Я озадачен, почему это не работает, но я могу повторить test.xml

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

$movies = new SimpleXMLElement($xml);

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

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Нет необходимости делать и то, и другое: 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;
2 голосов
/ 07 марта 2012

Когда вы загружаете данные XML, есть два способа сделать это. Вы либо загружаете содержимое файла XML в виде строки, а затем передаете эту строку в простой 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

... или вы загружаете файл непосредственно в простой объект XML:

$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

...