Create new XML file and write data to it?

后端 未结 3 437
长情又很酷
长情又很酷 2020-11-30 00:22

I need to create a new XML file and write that to my server. So, I am looking for the best way to create a new XML file, write some base nodes to it, save it. Then open it a

相关标签:
3条回答
  • 2020-11-30 01:02

    DOMDocument is a great choice. It's a module specifically designed for creating and manipulating XML documents. You can create a document from scratch, or open existing documents (or strings) and navigate and modify their structures.

    $xml = new DOMDocument();
    $xml_album = $xml->createElement("Album");
    $xml_track = $xml->createElement("Track");
    $xml_album->appendChild( $xml_track );
    $xml->appendChild( $xml_album );
    
    $xml->save("/tmp/test.xml");
    

    To re-open and write:

    $xml = new DOMDocument();
    $xml->load('/tmp/test.xml');
    $nodes = $xml->getElementsByTagName('Album') ;
    if ($nodes->length > 0) {
       //insert some stuff using appendChild()
    }
    
    //re-save
    $xml->save("/tmp/test.xml");
    
    0 讨论(0)
  • 2020-11-30 01:05

    With FluidXML you can generate and store an XML document very easily.

    $doc = fluidxml();
    
    $doc->add('Album', true)
            ->add('Track', 'Track Title');
    
    $doc->save('album.xml');
    

    Loading a document from a file is equally simple.

    $doc = fluidify('album.xml');
    
    $doc->query('//Track')
            ->attr('id', 123);
    

    https://github.com/servo-php/fluidxml

    0 讨论(0)
  • 2020-11-30 01:23

    PHP has several libraries for XML Manipulation.

    The Document Object Model (DOM) approach (which is a W3C standard and should be familiar if you've used it in other environments such as a Web Browser or Java, etc). Allows you to create documents as follows

    <?php
        $doc = new DOMDocument( );
        $ele = $doc->createElement( 'Root' );
        $ele->nodeValue = 'Hello XML World';
        $doc->appendChild( $ele );
        $doc->save('MyXmlFile.xml');
    ?>
    

    Even if you haven't come across the DOM before, it's worth investing some time in it as the model is used in many languages/environments.

    0 讨论(0)
提交回复
热议问题