Avatar billede marville Nybegynder
14. maj 2005 - 15:10 Der er 4 kommentarer

Skrive til XML

Jeg har en meget lille xml fil, hvor der bl.a. står flg:
<text_01><![CDATA[test1]]></text_01>
<text_02><![CDATA[test2]]></text_02>
Den henter jeg ind i flash og så viser den indholdet af ovenstående. Nu vil jeg være istand til at skrive til text_01 og text_02 - Er der nogle der kan give mig en pointer til hvordan..
Hvis det skulle være gået hen over hovedet på nogle, vil jeg tilføje at jeg er super newbie i PHP .. Please help!
Avatar billede drbean Nybegynder
15. maj 2005 - 12:54 #1
Brug dom funktionerne der ligger i PHP. Her er et lille eksempel på hvordan man fx kan skrive alle ens session variabler ned i xmlfilen:
<?php
//Her henter vi xml filen ind i php
$oXML = new domDocument('1.0', 'UTF-8');
$oXML->load(xmlfil.xml);

//Her laver vi en løkke hvor vi skriver alle session elementerne ned i xmlfilen
$oSession = $oXML->createElement('session');
foreach($_SESSION as $sKey => $sValue)
{
    $oKey = $oXML->createElement($sKey);
    $oKey->appendChild($oXML->createTextNode($sValue));
    $oSession->appendChild($oKey);
}   
//Her "vedhæfter" vi session tagget på root tagget
$oXML->documentElement->appendChild($oSession);   


//Og til sidst gemmer vi det i vores xmlfil
$fp = fopen('xmlfil.xml', 'w');
$sContent = $oXML->saveXML();
fwrite($fp, $sContent);
fclose($fp);
?>
Jeg har ikke prøvet at ændre i data før fra et eksisterne dokument, men jeg kan ikke forstille mig det er så svært.
Her har du dom funktionerne: http://dk.php.net/dom

Det skal lige siges at koden jeg har skrivet, kun er testet i php5
Avatar billede coderdk Praktikant
17. maj 2005 - 06:30 #2
Eller virkelig simpelt, som ikke har noget med XML at gøre:

$fp = fopen( 'fil.xml', 'w' );
fwrite( $fp, '<text_01><![CDATA[test1]]</text_01>' );
fwrite( $fp, '<text_02><![CDATA[test1]]</text_02>' );
fclose( $fp );

:)
Avatar billede drbean Nybegynder
17. maj 2005 - 09:10 #3
Så er problemet bare at det bliver svære at søge dokumentet igennem når du skal søge og erstatte. Jeg ved godt det er muligt, men der er flere muligheder med dom.
Avatar billede coderdk Praktikant
17. maj 2005 - 10:20 #4
drbean, true, min er kun god hvis du skal skrive hele l*rtet og/eller hvis det er meget simpelt :) DOM all the way ;D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester