FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hej.
Jag har gjort en (php)-klass som har till uppgift att agera modell för en xml-fil där min data är lagrad. Klassen kan lägga till / ändra och ta bort data från xml-filen samt hämta värden därifrån. För att lägga in ny data till filen skapar jag en ny trädstruktur med hjälp av phps DOM klasser (se http://se.php.net/manual/en/ref.dom.php ) för att sedan lägga till det på rätt plats i filen. Allt fungerar korrekt utom att allting hamnar på samma rad, vilket är väldigt irriterande om jag tex vill editera xml-filen manuellt. Finns det något bra sätt att få till att åtminstone varje element hamnar på en ny rad? Tack på förhand Mathias |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Medlem
|
\n New Line
\t Tab \r Carriage Return i php koden där du genererar xml:en eller är jag inne på fel spår? :P |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Tack men det var något av det första jag testade utan tillfredsställande resultat.
Exempelkod på hur jag skapar och lägger in data: Kod:
$newOB = $this->getElementById($id); $newPercent = $this->createElement('percent'); $newPercent->appendChild($this->createTextNode($percent)); //Merge into the file $newOB->appendChild($newWeekdays); |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
Instansvariabeln formatOutput för DOMDocumentet är som standard satt till false. Om du sätter den till true borde det se bättre ut.
|
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Tackar patjoh, det ledde mig in på rätt spår, men jag var även tvungen att lägga in
$this->preserveWhiteSpace = FALSE; Innan jag laddade in min xmlfil med $this->load($document). Så om det är någon annan som har problem med detta i framtiden så fungerar det med följande kodsnutt: Kod:
$this->preserveWhiteSpace = FALSE; $this->load($document); $this->formatOutput = TRUE; |
||
![]() |
![]() |
Svara |
|
|