Tilføj til XML fil

Tags:    php

Hej,
er det muligt at tilføje childNodes til en xml-fil som allerede indeholder data? Det jeg mener er, lad os sige jeg har en xml fil a la det her:
Fold kodeboks ind/udKode 


Hvordan er det så muligt at tilføje endnu en person-node til filen?



9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Det burde nok ligne noget a la nedestående kode.

PHP5+
Fold kodeboks ind/udKode 


At opdatere indhold er ret så simpelt og der findes ingen hurtigere metoder.

Dette gælder for ændringer af indhold:
1. Åben fil
2. Læs gammelt indhold
3. Slet gammelt indhold
4. Mix gammelt indhold med nyt og overskriv fil
5. Luk fil

Dette gælder når det er tilføjelse til indhold:
1. Åben fil
2. Tilføj til slutningen af fil
3. Luk fil

:)



Indlæg senest redigeret d. 06.08.2007 23:36 af Bruger #10216
ikke testet:
Fold kodeboks ind/udKode 


http://dk.php.net/manual/da/ref.domxml.php



Load filen, tilføj din data, og gem den igen.



Kan du give et eksempel på det? Det har endnu ikke lykkedes mig at gøre det uden at slette det data der allerede var i filen før jeg smed nyt i...



Det gør man. Man overskriver filen.



ja, men det må være muligt kun at tilføje noget, istedet. Og hvad det vil sige at tilføje noget er, at smide noget i filen uden at røre det der allerede er.



Såvidt jeg ved er det ikke muligt, nej



Jeg kan ikke rigtig se hvordan dit eksempel hænger sammen med det du siger om hvordan man skal gøre det. Først bruger du fopen->w, som gør at alt indhold slettes og der skrives til starten af filen. Og bagefter fwrite til at smide indholdet ind med, men på den måde bliver det hverken formatteret som XML, ej helelr smidt ind i noden <persons>...

Der må være en måde at gøre det på med phps simplexml (som du selv bruger) eller DOM. Jeg kan bare ikke finde ud af hvordan:/



Godt så... Gider ikke skrive en lang doktorafhandling om hvorfor det virker.

Men SimpleXML er noget af det mest simple du kan komme XML håndtering - deraf navnet.
http://dk.php.net/manual/da/ref.simplexml.php


Der er rettet en lille fejl i koden, så den er testet og virker ganske som den skal. Så har jeg også rettet tidligere indlæg til, så det skulle være nemmere at gennemskue idéen.

Input:
Fold kodeboks ind/udKode 


Output:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 06.08.2007 23:45 af Bruger #10216
t