如何使用 PHP 保存 XML [英] How to save XML using PHP
问题描述
有谁知道我如何使用 PHP 创建和保存 XML?我需要这样的东西:
<点唱机><track source="" Artist=""专辑="" title=""/><track source=""artist=""专辑=""title=""/><track source="" Artist=""专辑="" title=""/><track source="" Artist=""专辑="" title=""/></点唱机>
这可能就是您要找的.p><预><代码>//使用DOM创建XML字符串和XML文档$dom = new DomDocument('1.0', 'UTF-8');//添加根$root = $dom->appendChild($dom->createElement('Root'));//将NodeA元素添加到Root$nodeA = $dom->createElement('NodeA');$root->appendChild($nodeA);//将 attr1 和 attr2 附加到 NodeA 元素$attr = $dom->createAttribute('attr1');$attr->appendChild($dom->createTextNode('some text'));$nodeA->appendChild($attr);/*** 插入更多节点*/$dom->formatOutput = true;//设置 domDocument 的 formatOutput 属性为 true//将 XML 保存为字符串或文件$test1 = $dom->saveXML();//将字符串放入 test1$dom->save('test1.xml');//另存为文件
有关详细信息,请查看 DOM 文档.
做你想做的事:
<预><代码>//使用DOM创建XML字符串和XML文档$dom = new DomDocument('1.0', 'UTF-8');//添加根==自动点唱机$jukebox = $dom->appendChild($dom->createElement('jukebox'));for ($i = 0; $i < count($arrayWithTracks); $i++) {//将轨道元素添加到自动点唱机$track = $dom->createElement('track');$jukebox->appendChild($track);//添加要跟踪的属性$attr = $dom->createAttribute('source');$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['source']));$track->appendChild($attr);$attr = $dom->createAttribute('artist');$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['artist']));$track->appendChild($attr);$attr = $dom->createAttribute('专辑');$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['album']));$track->appendChild($attr);$attr = $dom->createAttribute('title');$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['title']));$track->appendChild($attr);}$dom->formatOutput = true;//设置 domDocument 的 formatOutput 属性为 true//将 XML 保存为字符串或文件$test1 = $dom->saveXML();//将字符串放入 test1$dom->save('test1.xml');//另存为文件干杯
Anyone know how I can create and save XML using PHP? I need something like this:
<jukebox>
<track source="" artist="" album="" title="" />
<track source="" artist="" album="" title="" />
<track source="" artist="" album="" title="" />
<track source="" artist="" album="" title="" />
</jukebox>
This is probably what you are looking for.
//Creates XML string and XML document using the DOM
$dom = new DomDocument('1.0', 'UTF-8');
//add root
$root = $dom->appendChild($dom->createElement('Root'));
//add NodeA element to Root
$nodeA = $dom->createElement('NodeA');
$root->appendChild($nodeA);
// Appending attr1 and attr2 to the NodeA element
$attr = $dom->createAttribute('attr1');
$attr->appendChild($dom->createTextNode('some text'));
$nodeA->appendChild($attr);
/*
** insert more nodes
*/
$dom->formatOutput = true; // set the formatOutput attribute of domDocument to true
// save XML as string or file
$test1 = $dom->saveXML(); // put string in test1
$dom->save('test1.xml'); // save as file
For more information, have a look at the DOM Documentation.
To do what you want:
//Creates XML string and XML document using the DOM
$dom = new DomDocument('1.0', 'UTF-8');
//add root == jukebox
$jukebox = $dom->appendChild($dom->createElement('jukebox'));
for ($i = 0; $i < count($arrayWithTracks); $i++) {
//add track element to jukebox
$track = $dom->createElement('track');
$jukebox->appendChild($track);
// Appending attributes to track
$attr = $dom->createAttribute('source');
$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['source']));
$track->appendChild($attr);
$attr = $dom->createAttribute('artist');
$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['artist']));
$track->appendChild($attr);
$attr = $dom->createAttribute('album');
$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['album']));
$track->appendChild($attr);
$attr = $dom->createAttribute('title');
$attr->appendChild($dom->createTextNode($arrayWithTracks[$i]['title']));
$track->appendChild($attr);
}
$dom->formatOutput = true; // set the formatOutput attribute of domDocument to true
// save XML as string or file
$test1 = $dom->saveXML(); // put string in test1
$dom->save('test1.xml'); // save as file
Cheers
这篇关于如何使用 PHP 保存 XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!