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

То, что вы описываете, является поведением по умолчанию. Вы должны обнаружить и обработать эти события самостоятельно, добавив:

android:configChanges

в свой манифест и затем изменения, которые вы хотите обработать. Таким образом, для ориентации вы должны использовать:

android:configChanges="orientation"

, а для открытия или закрытия клавиатуры вы должны использовать:

android:configChanges="keyboardHidden"

Если вы хотите обрабатывать оба, вы можете просто разделить их с помощью команда pipe, например:

android:configChanges="keyboardHidden|orientation"

. Это вызовет метод onConfigurationChanged в любой операции, которую вы вызываете. Если вы переопределите метод, вы можете передать новые значения.

Надеюсь, это поможет.

32
задан chris 29 July 2009 в 11:33
поделиться

4 ответа

Вы можете использовать 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');
60
ответ дан 27 November 2019 в 19:56
поделиться

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

<?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);   

if ($result === false) {
    die('Error fetching data: ' . curl_error($curl));   
}
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;   
}
5
ответ дан 27 November 2019 в 19:56
поделиться

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

echo $xml->asXML();

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

$xml->asXML('filename.xml');
7
ответ дан 27 November 2019 в 19:56
поделиться

Я не слишком упрощаю это?

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

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

4
ответ дан 27 November 2019 в 19:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: