Xml ile dom kurtarmak için nasıl

2 Cevap php

Benim dom xml dosyası ile tasarruf yaşıyorum

`<?php
if(isset($_POST["song"])&& $_POST['song'] != "") 
    {
        $song = $_POST["song"];
    }
    else {$song=array();} 

$dom = new DOMDocument("1.0");
// display document in browser as plain text 
// for readability purposes

// create root element
$root = $dom->createElement("playlist");
$dom->appendChild($root);
$root->setAttribute('version', "1");
$root->setAttribute('xmlns', "http://xspf.org/ns/0/");
$rootnext = $dom->createElement("trackList");
$root->appendChild($rootnext);
foreach ($song as $counter) {
    $tokens = ",";
    $tokenized = strtok($counter, $tokens);
// create child element

$song = $dom->createElement("track");
$rootnext->appendChild($song);
$song1 = $dom->createElement("creator");
$song->appendChild($song1);
$text = $dom->createTextNode("www.indiantags.com");
$song1->appendChild($text); 
$song1 = $dom->createElement("title");
$song->appendChild($song1);
// create text node
$text = $dom->createTextNode($tokenized);
$song1->appendChild($text); 
$tokenized = strtok($tokens);
$song1 = $dom->createElement("location");
$song->appendChild($song1);
$text = $dom->createTextNode($tokenized);
$song1->appendChild($text); 

}

// save 
$dom->save("playlist.xml");

?>
<object data="42-mp3player.swf?autostart=true&playlist=playlist.xml" type="application/x-shockwave-flash" width="400" height="300"><param name="movie" value="42-mp3player.swf?autostart=true&playlist=playlist.xml"/></object>

`

Ama ihtiyacım olan her şey dinamik adı ile bazı microtime fonksiyonu ile ya da başka bir şey oturumkimliği adını bu playlist.xml dosyayı kaydetmek istediğiniz olduğunu .. herhangi bir vücut buna biraz ışık atmak istersiniz?

Teşekkür ederim

2 Cevap

IXMLDOMDocument2 arayüzü bir tasarruf yöntemi vardır. Giriş this.

Dinamik bir adla kaydetmek için, PHP böyle bir şey yapabilirsiniz:

//Set dynamic name - used microtime in this example but you could change this
//to another dynamic naming scheme
$dynamicPlaylistName = microtime();

//Save XML with dynamic name
$dom->save($dynamicPlaylistName.'.xml');

Yukarıdaki kod eşittir o çizgi üzerinde imzalamadan sonra koymak ne olursa olsun dynamicPlaylistName ayarlar ve daha sonra buna eklenen '. Xml' ile dosya adı olarak dynamicPlaylistName değeri ile xml kaydeder.

Ayrıca XML dosyası girintiler ve yuvalama ile biçimlendirilmiş olmasını istiyorsanız, this question benim cevaba bakınız. Büyük olasılıkla sadece durumda biçimlendirme almak için XML tasarruf yerde önce aşağıdaki iki satırı eklemeniz gerekir unutmayın:

$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;