我正在尝试使用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');