0

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

该网址为我提供了一个 XML 格式的 RSS 提要,我想简单地复制该 xml 并使用它来创建一个名为“提要”的 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");

我该如何安排?

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

4

1 回答 1

0

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

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

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

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

$xml->asXml('artists.xml');
于 2013-10-24T20:49:28.367 回答