使用PHP创建XML文件

时间:2013-10-24 20:18:45

标签: php xml

我试图用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");

我该如何安排?

*相册是艺术家的孩子,轨道是专辑的孩子。

谢谢你的时间!

1 个答案:

答案 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');