Загрузите xml-данные с URL-адреса, подобного этому: /index.php/site/projects/ как переменную php

#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?