Я пытаюсь создать файл (если он уже существует, переписать) с определенными элементами из URL-адреса .. У меня со мной, я изучаю php.Создание XML-файла с использованием PHP
URL, дает мне RSS-канал, который находится в формате XML, я хочу, чтобы просто скопировать этот XML и использовать его для создания файла XML с именем «кормить»
<?php
libxml_use_internal_errors(true);
$xml = simplexml_load_file("http://mysite.com/feeds/posts/default?alt=rss");
if ($xml === false) {
foreach (libxml_get_errors() as $error) {
echo "Error: " . $error->message . "<br />";
}
}
print_r($xml);
?>
Это то, что у меня есть, пока он просто читает файл, мне просто нужны команды для копирования определенных элементов и вставки их в файл и просто его имя. Я нашел этот раздел кода, который мне помогает, но как мне получить информацию из элементов исходного документа xml?
Мол, есть ли команды, которые напоминают что-то вроде:
$title=(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
$artist=(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
$album=(x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue);
$track=(x[i].getElementsByTagName("TRACK")[0].childNodes[0].nodeValue);
Так что я могу позже сделать что-то вроде:
$xml = new DOMDocument();
$xml_album = $xml->createElement($artist);
$xml_album = $xml->createElement($album);
$xml_track = $xml->createElement($track);
$xml_album->appendChild($xml_track);
$xml->appendChild($xml_album);
$xml->save("rootFolder/xmls/"+$title ".xml");
Как я могу это устроить?
* Альбом является дочерью художника, трек является дочерним по отношению к альбому.
Спасибо вам за ваше время!
Удивительный, спасибо! Если я хочу добавить, если что-то сохранить, это можно сделать так? $ xml-> asXml ($ filename. '.xml') ;? – user1876553
Несомненно, параметр может быть переменной, которая содержит имя файла. Но вы должны знать, где вы его пишете, если хотите, чтобы использовать его позже;) –
Два последних вопроса! 1. Я понимаю, что $ character = $ movies-> movie [0] -> characters-> addChild ('character'); $ character-> addChild ('name', 'Mr. Parser'); $ character-> addChild ('actor', 'John Doe'); добавляет в документ, есть ли способ распечатать его в формате, а не в одной строке? – user1876553