Avatar billede alios Nybegynder
02. december 2008 - 09:31 Der er 3 kommentarer

Rediger xml via php?

Hejsa,
Jeg ønsker at lave en funktion, der kan opdatere indhold i min xml fil via php nogen som kan hjælpe mig på vej?
mit xml dokument ser således ud:

<music>
<sound name="sound5.wav">
  <title>testTitle</title>
  <artist>testArtist</artist>
  <genre>testGenre</genre>
</sound>
</music>

Jeg ønsker altså at ændre indholdet af <title></title> osv.

På forhånd tak :)
Avatar billede jakobdo Ekspert
02. december 2008 - 12:44 #1
Så lad vær at gem info i en xml fil, hvis du vil redigere det.
Gem data i en database, og når nogle skal bruge det som xml, så trækker du data ud og viser dem som en xml fil.
Avatar billede alios Nybegynder
02. december 2008 - 13:41 #2
Jeg kan ikke benytte mig af database, det skal være xml...

har prøvet dette:

<?php
$xmlFileData = file_get_contents("music.xml");
$xmlData = new SimpleXMLElement($xmlFileData);
               
$fileName = "sound6.wav";
$xmlData = $xmlData->xpath("//music/sound[@name='$fileName']");   

$xmlData[0]->title = "test";
$xmlData[0]->artist = "test1";
$xmlData[0]->genre = "test2";

$xmlData->asXML('music.xml'); // VIRKER IKKE :(
?>

Men den sidste linie vil ikke rigtig virke? kan nogen fortælle hvorfor?
Avatar billede alios Nybegynder
02. december 2008 - 13:48 #3
Rettelse hvad er galt med denne:
<?php
$xmlFileData = simplexml_load_file('music.xml');
$xmlData = new SimpleXMLElement($xmlFileData);
               
$fileName = "sound5.wav";
$xmlData = $xmlData->xpath("//music/sound[@name='$fileName']");   

$xmlData[0]->title = "test";
$xmlData[0]->artist = "test1";
$xmlData[0]->genre = "test2";

$xmlData->asXML('music.xml');
?>
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