使用 PHP 创建 XML 文件


Creating an XML file using PHP

我正在尝试使用URL中的某些元素创建一个文件(如果已经存在,请覆盖)。

该网址给了我一个XML格式的RSS提要,我想简单地复制该xml并使用它来创建一个名为"feed"的xml文件

<?php
libxml_use_internal_errors(true); 
$xml = simplexml_load_file("http://example.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");

我该如何安排?

*专辑是

艺术家的孩子,曲目是专辑的孩子。

像往常一样,手册是一个很好的起点

基本上,simplexml_load_file返回一个 SimpleXMLElement 对象,因此您不必使用 getElementsByTagName(即用于 DOMDocument 对象)。您将访问这样的节点(在此处构成一些文档结构):

$xml->artists[0]->albums->album[0]->title;

您可以访问 XML 文档中的每个节点并修改它们或添加更多节点。然后你可以像这样保存它:

$xml->asXml('artists.xml');