我试图用URL中的某些元素创建一个文件(如果它已经存在,覆盖)。不管怎样,我正在学习php。
网址给我一个XML格式的RSS源,我想简单地复制那个xml并用它来创建一个名为“feed”的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");
我该如何安排?
*相册是艺术家的孩子,轨道是专辑的孩子。
谢谢你的时间!
答案 0 :(得分:0)
照例the manual is a great place to start。
基本上simplexml_load_file
返回一个SimpleXMLElement对象,因此您不必使用getElementsByTagName
(即DOMDocument对象)。您可以像这样访问节点(在这里构建一些文档结构):
$xml->artists[0]->albums->album[0]->title;
您可以访问XML文档中的每个节点并进行修改或添加更多节点。然后你可以这样保存:
$xml->asXml('artists.xml');