Php echo xml utf 8

Как отобразить XML-файл в php

XML — это формат строки. SimpleXML преобразует XML в объекты PHP для облегчения манипулирования в PHP. Если вы хотите отобразить XML, просто отобразите строку XML и, как уже упоминалось, не забудьте добавить правильные заголовки ответа HTTP. Это то, что указывает клиенту HTTP обрабатывать файл как файл XML.

8 ответов

Вы можете использовать URL-адреса HTTP, как если бы они были локальными файлами, благодаря обертки PHP

Вы можете получить содержимое с URL-адреса через file_get_contents(), а затем повторить его или даже прочитать непосредственно с помощью файла readfile()

$file = file_get_contents('http://example.com/rss'); echo $file; 
readfile('http://example.com/rss'); 

Не забудьте установить правильный тип MIME, прежде чем выводить что-либо.

header('Content-type: text/xml'); 

Чтобы отобразить содержимое XML внутри файла HTML, я должен использовать echo htmlentities($file) для отображения необработанного XML (теги и содержимое). Есть ли способ лучше?

Вот что сработало для меня:

Использование htmlspecialchars предотвратит отображение тегов как html и ничего не сломает. Обратите внимание, что я использую Prettyprint, чтобы выделить код;)

Вы можете использовать метод asXML

Вы также можете указать имя файла

Если вы просто хотите распечатать необработанный XML, вам не нужен Simple XML. Я добавил некоторые обработки ошибок и простой пример того, как вы можете использовать SimpleXML.

 curl_close ($curl); //we can at this point echo the XML if you want //echo $result; //parse xml string into SimpleXML objects $xml = simplexml_load_string($result); if ($xml === false) < die('Error parsing XML'); >//now we can loop through the xml structure foreach ($xml->channel->item as $item) < print $item->title; > 
$location = "http://rss.news.yahoo.com/rss/topstories"; print file_get_contents($location); 

Некоторые места (например, digg.com) не позволят вам получить доступ к их сайту без использования пользовательского агента, и в этом случае вам нужно будет установить это с помощью ini_set() перед запуском file_get_contents().

echo(header('content-type: text/xml')); 

Чтобы отобразить html/xml «как есть» (т.е. все сущности и элементы), просто избегайте символов , & и приложите результат с помощью :

$XML = '  ó ó '; $XML = str_replace('&', '&', $XML); $XML = str_replace('' . $XML . '

';

Протестировано на Chrome 45

Источник

Как echo xml-файл в php

Как распечатать xml-файл на экране в php?

$curl = curl_init(); curl_setopt ($curl, CURLOPT_URL, 'http://rss.news.yahoo.com/rss/topstories'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec ($curl); curl_close ($curl); $xml = simplexml_load_string($result); echo $xml; 

Есть ли простое решение? Может быть, без SimpleXML?

Вы можете использовать URL-адреса HTTP, как если бы они были локальными файлами, благодаря фреймворкам PHP

Вы можете получить содержимое с URL-адреса через file_get_contents (), а затем повторить его или даже прочитать непосредственно с помощью файла readfile ()

$file = file_get_contents('http://example.com/rss'); echo $file; 
readfile('http://example.com/rss'); 

Однако не забудьте установить правильный тип MIME, прежде чем выводить что-либо.

header('Content-type: text/xml'); 

Вот что сработало для меня:

Использование htmlspecialchars предотвратит отображение тегов как html и ничего не сломает. Обратите внимание, что я использую Prettyprint для выделения кода;)

Вы можете использовать метод asXML

Вы также можете указать имя файла

$location = "http://rss.news.yahoo.com/rss/topstories"; print file_get_contents($location); 

Некоторые места (например, digg.com) не позволят вам получить доступ к их сайту без использования пользовательского агента, и в этом случае вам нужно будет установить это с помощью ini_set () перед запуском file_get_contents ().

Если вы хотите распечатать необработанный XML, вам не нужен Simple XML. Я добавил некоторые обработки ошибок и простой пример того, как вы можете использовать SimpleXML.

 curl_close ($curl); //we can at this point echo the XML if you want //echo $result; //parse xml string into SimpleXML objects $xml = simplexml_load_string($result); if ($xml === false) < die('Error parsing XML'); >//now we can loop through the xml structure foreach ($xml->channel->item as $item) < print $item->title; > 
echo(header('content-type: text/xml')); 

Чтобы отобразить html / xml «как есть» (т. Е. Все сущности и элементы), просто выйдите из символов , & и приложите результат с помощью :

$XML = '  ó ó '; $XML = str_replace('&', '&', $XML); $XML = str_replace('' . $XML . '

';

Протестировано на Chrome 45

Если кто-то нацелен на yahoo rss-канал, может извлечь выгоду из этого фрагмента

 $Items) < for($i = 0; $i < $level; $i++) echo(" "); /*if content more than one*/ if(!is_array($Items))< //$Items=htmlentities($Items); $Items=htmlspecialchars($Items); echo("Item " .$key . " =>" . $Items . "

"); > else < echo($key . " =>

"); PrettyPrintArray($Items, $level+1); > > > PrettyPrintArray($featureRss, 0); ?>

Вы можете сначала запустить его в своем браузере, чтобы увидеть, что есть, и перед тем, как зациклиться и создать его довольно просто.

Чтобы получить первое описание элемента

Вы можете увидеть демо здесь

  • Преобразование XML с помощью XSLT в PHP
  • SimpleXML: работа с XML, содержащим пространства имен
  • Magento. Вставить блок в другой без кода шаблона изменения
  • конвертировать xml в html с помощью php
  • Как удалить десятичную цену от Magento-1?
  • SOAP установил правильные заголовки xmlns
  • SimpleXml как правильно установить кодировку и xmins?
  • Могу ли я использовать xslt для отображения выпадающего меню
  • Извлечение детей из XML с помощью PHP
  • Анализ xml в php
  • Как изменить имена тегов XML с помощью PHP?
  • PHP / XPath: найти текстовый узел, который «начинается с» конкретной строки?

Источник

Как отобразить XML-файл в php

XML — это формат строки. SimpleXML преобразует XML в объекты PHP для облегчения манипулирования в PHP. Если вы хотите отобразить XML, просто отобразите строку XML и, как уже упоминалось, не забудьте добавить правильные заголовки ответа HTTP. Это то, что указывает клиенту HTTP обрабатывать файл как файл XML.

8 ответов

Вы можете использовать URL-адреса HTTP, как если бы они были локальными файлами, благодаря обертки PHP

Вы можете получить содержимое с URL-адреса через file_get_contents(), а затем повторить его или даже прочитать непосредственно с помощью файла readfile()

$file = file_get_contents('http://example.com/rss'); echo $file; 
readfile('http://example.com/rss'); 

Не забудьте установить правильный тип MIME, прежде чем выводить что-либо.

header('Content-type: text/xml'); 

Чтобы отобразить содержимое XML внутри файла HTML, я должен использовать echo htmlentities($file) для отображения необработанного XML (теги и содержимое). Есть ли способ лучше?

Вот что сработало для меня:

Использование htmlspecialchars предотвратит отображение тегов как html и ничего не сломает. Обратите внимание, что я использую Prettyprint, чтобы выделить код;)

Вы можете использовать метод asXML

Вы также можете указать имя файла

Если вы просто хотите распечатать необработанный XML, вам не нужен Simple XML. Я добавил некоторые обработки ошибок и простой пример того, как вы можете использовать SimpleXML.

 curl_close ($curl); //we can at this point echo the XML if you want //echo $result; //parse xml string into SimpleXML objects $xml = simplexml_load_string($result); if ($xml === false) < die('Error parsing XML'); >//now we can loop through the xml structure foreach ($xml->channel->item as $item) < print $item->title; > 
$location = "http://rss.news.yahoo.com/rss/topstories"; print file_get_contents($location); 

Некоторые места (например, digg.com) не позволят вам получить доступ к их сайту без использования пользовательского агента, и в этом случае вам нужно будет установить это с помощью ini_set() перед запуском file_get_contents().

echo(header('content-type: text/xml')); 

Чтобы отобразить html/xml «как есть» (т.е. все сущности и элементы), просто избегайте символов , & и приложите результат с помощью :

$XML = '  ó ó '; $XML = str_replace('&', '&', $XML); $XML = str_replace('' . $XML . '

';

Протестировано на Chrome 45

Источник

Читайте также:  Цвета прицелов в css
Оцените статью