如何使用 PHP 保存 XML [英] How to save XML using PHP

查看:47
本文介绍了如何使用 PHP 保存 XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道我如何使用 PHP 创建和保存 XML?我需要这样的东西:

<点唱机><track source="" Artist=""专辑="" title=""/><track source=""artist=""专辑=""title=""/><track source="" Artist=""专辑="" title=""/><track source="" Artist=""专辑="" title=""/></点唱机>

解决方案

这可能就是您要找的.<预><代码>//使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆