#php #xml
#php #xml
Вопрос:
Мне нужно прочитать xml-данные, сгенерированные php-файлом (из Expression Engine), при передаче url, например /index.php/site/projects/
, в объект php. (обратите внимание, что это не физический файл). Как я могу это сделать?
Поскольку я не совсем разбираюсь в php, пожалуйста, простите меня, если я задал что-то глупое, и дайте мне знать, если я смогу добавить больше информации.
Ответ №1:
Для этого вы можете использовать simplexml_load_file(строка $filename) . Просто передайте в эту функцию полный URL-адрес, такой как:
$myXMLContent = simplexml_load_file(‘http://myserver.com/index.php/site/projects /’);
Затем, если вам нужно использовать эту информацию, обратите внимание, что все узлы, которые не являются повторяющимися, будут доступны напрямую с помощью:
$myXMLContent->nodename
Тогда все атрибуты являются частью массива узла, поэтому:
<nodename id="6" name="blabla"><subnode>Content</subnode></nodename>
Может быть извлечен как:
echo $myXMLContent['id'];
echo $myXMLContent['name'];
echo $myXMLContent->subnode;
И если у вас одновременно много подузлов, вы можете использовать:
echo $myXMLContent->subnode[2]
Чтобы получить 3-й подузел.
Это лучшее, что я могу сделать, чтобы помочь вам, остальное можно найти по адресу: http://www.php.net/manual/fr/book.simplexml.php
Ответ №2:
Возможно, вы могли бы использовать SimpleXML, класс DOMDocument или cURL .
Редактировать:
Пример взят из документации simplexml_load_file
<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.
if (file_exists('http://domain.com/index.php/site/projects/')) {
$xml = simplexml_load_file('http://domain.com/index.php/site/projects/');
print_r($xml);
} else {
exit('Failed to open the xml file.');
}
?>
Я не эксперт в этом, но на странице, на которую я ссылался, есть много хороших советов, примеров и заметок.
Комментарии:
1. Спасибо. Не могли бы вы указать мне правильное направление, написав строку кода о том, как включить URL-адрес в эти функции загрузки xml?