Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> FormatOutput nie działa
gcdreak
post
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Witam! Mam problem z właściwością formatOutput clasy domDocument;
Mój kod wygląda tak:
  1. $str ="
  2. <datas>
  3. <books>
  4. <book>
  5. <id>1</id>
  6. <title>PHP Undercover</title>
  7. <author>Wiwit Siswoutomo</author>
  8. </book>
  9. <book>
  10. <id>2</id>
  11. <title>PHP Enterprise</title>
  12. <author>Wiwit Siswoutomo</author>
  13. </book>
  14. </books>
  15. </datas>
  16. ";
  17.  
  18. $dom = new DOMDocument();
  19. $dom->loadXML($str);
  20.  
  21. // $dom settings
  22. $dom->formatOutput = true;
  23. $dom->preserveWhiteSpace = false;
  24.  
  25. // get root element(datas)
  26. $root = $dom->documentElement;
  27.  
  28. //create new book's nodes
  29. $id = $dom->createElement('id');
  30. $id->appendChild($dom->createTextNode('3'));
  31.  
  32. $title = $dom->createElement('title');
  33. $title->appendChild($dom->createTextNode('Kamienie na szaniec'));
  34.  
  35. $author = $dom->createElement('author');
  36. $author->appendChild($dom->createTextNode('Aleksander Kaminski'));
  37.  
  38. // create new book node
  39. $newBook = $dom->createElement('book');
  40. // append childs to new book
  41. $newBook->appendChild($id);
  42. $newBook->appendChild($title);
  43. $newBook->appendChild($author);
  44.  
  45. // get parent for book
  46. $books = $dom->getElementsByTagName('books')->item(0);
  47.  
  48. // add new book to $dom
  49. $books->appendChild($newBook);
  50.  
  51. // display
  52. echo '<xmp>'.$dom->saveXML().'</xmp>';


Niestety nowy węzeł nie jest odpowiednio sformatowany i jest wyświetlany w jednej linii:
Kod
   <pre id="line1"><span class="pi"><?xml version="1.0"?></span>
<<span class="start-tag">datas</span>>
       <<span class="start-tag">books</span>>
        <<span class="start-tag">book</span>>
            <<span class="start-tag">id</span>>1</<span class="end-tag">id</span>>
            <<span class="start-tag">title</span>>PHP Undercover</<span class="end-tag">title</span>>    
            <<span class="start-tag">author</span>>Wiwit Siswoutomo</<span class="end-tag">author</span>>
        </<span class="end-tag">book</span>>
         <<span class="start-tag">book</span>>
</pre><pre id="line10">              <<span class="start-tag">id</span>>2</<span class="end-tag">id</span>>
              <<span class="start-tag">title</span>>PHP Enterprise</<span class="end-tag">title</span>>    
              <<span class="start-tag">author</span>>Wiwit Siswoutomo</<span class="end-tag">author</span>>
         </<span class="end-tag">book</span>>
    <<span class="start-tag">book</span>><<span class="start-tag">id</span>>3</<span class="end-tag">id</span>><<span class="start-tag">title</span>>Kamienie na szaniec</<span class="end-tag">title</span>><<span class="start-tag">author</span>>Aleksander Kaminski</<span class="end-tag">author</span>></<span class="end-tag">book</span>></<span class="end-tag">books</span>>
</<span class="end-tag">datas</span>>
</pre>

Co może być tego przyczyną?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
i jest wyświetlany w jednej linii:
no bo wyswietliles to do przegladarki. A przegladarka ignoruje entery i spacje (IMG:style_emoticons/default/smile.gif)

ALbo zapisz to do pliku, albo podejrzyj źrodło, gdy juz wyplujesz to do przeglądarki
Go to the top of the page
+Quote Post
gcdreak
post
Post #3





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


To co wkleiłem to jest źródło z przeglądarki, tylko teraz widze, że troche dzidostwa w nim jest. Nalepiej by było jakby ktoś zobaczeł to u siebie. Będe wdzieczny za pomoc
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Hehe, zmien kolejnosc
  1. $dom = new DOMDocument();
  2. $dom->formatOutput = true;
  3. $dom->preserveWhiteSpace = false;
  4. $dom->loadXML($str);

(IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
gcdreak
post
Post #5





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Dokładnie tu był problem.
Dziękuje za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 03:52