Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][XML] spacje i entery
Forum PHP.pl > Forum > Przedszkole
Kisiol_Ent
Wiem jak dodac nowe elementy do pliku XML za pomoca DOMDocument ale
ten DOM dodaje zawsze na koncu tekstu
i niewiem jak tam wstawic enter albo jakies spacje
aby w notatniku mozna bylo lepiej czytac.

jak to zrobic?questionmark.gif
wogole sa jakies poradniki po polsku do tego xml w php?questionmark.gif
JaRoPHP
A poniższe funkcje nie wystarczą?:
  1. <?php
  2. $xml = new DOMDocument();
  3. $xml->preserveWhiteSpace = false;
  4. $xml->formatOutput = true;
  5. ?>
Kisiol_Ent
Nie :/

bo mi tak zapisuje:

Kod
<Person><Nick/><Mail/><Content>Hello world!</Content><IP>127.0.0.1</IP><Time>2007-July-15, 8:16 pm</Time></Person>


a chcialbm tak:

Kod
<Person>
  <Nick/><Mail/>
  <Content>Hello world!</Content>
  <IP>127.0.0.1</IP>
  <Time>2007-July-15, 8:16 pm</Time>
</Person>
JaRoPHP
Wiem, jakbyś chciał...
Mógłbyś zaprezentować kawałek kodu? Moim zdaniem powyższe funkcje powinny wystarczyć.
Kisiol_Ent
zapomnialem o tym temacie wogole ;o

a kod mam taki: (wiem ze zle wszystko:P )

  1. <?php
  2.  
  3. // v1.00
  4.  
  5.  $qbNick = $_POST['qbNick'];
  6.  $qbMail = $_POST['qbMail'];
  7.  $qbContent = $_POST['qbContent'];
  8.  
  9.  
  10.  /* korekcja slashy */
  11.  $qbNick = stripslashes ($qbNick);
  12.  $qbMail = stripslashes ($qbMail);
  13.  $qbContent = stripslashes ($qbContent);
  14.  /* korekcja < */
  15.  $qbNick = ereg_replace ("<", "&lt;", "$qbNick");
  16.  $qbMail = ereg_replace ("<", "&lt;", "$qbMail");
  17.  $qbContent = ereg_replace ("<", "&lt;", "$qbContent");
  18.  /* korekcja > */
  19.  $qbNick = ereg_replace (">", "&gt;", "$qbNick");
  20.  $qbMail = ereg_replace (">", "&gt;", "$qbMail");
  21.  $qbContent = ereg_replace (">", "&gt;", "$qbContent");
  22.  
  23.  
  24.  $ipek="$REMOTE_ADDR"; 
  25.  
  26.  if ($qbNick != 'Kisiol_Ent.')
  27.  {
  28. if ($qbNick == 'vip:kisiol666') $qbNick = 'Kisiol_Ent.';
  29.  
  30.  
  31. if (filesize("QBook.xml") != 0)
  32. {
  33. copy("QBook.xml", "QBook.backup") or die("Blad przy kopiowaniu");
  34. }
  35. else
  36. {
  37. copy("QBook.backup", "QBook.xml") or die("Blad przy kopiowaniu");
  38. }
  39.  
  40.  // zapisanie do pliku XML
  41.  $qbDOC = new DOMDocument('1.0');
  42.  $qbDOC->load('QBook.xml');
  43.  $qbDOC->preserveWhiteSpace = false;
  44.  $qbDOC->formatOutput = true;
  45.  // pobierz glowny element
  46.  $qbROOT = $qbDOC->documentElement;
  47.  // stworz element Person
  48.  $qbPERSON = $qbDOC->createElement('Person');
  49.  $qbPERSON = $qbROOT->appendChild($qbPERSON);
  50.  // stworz dziecko Nick
  51.  $qbNICK = $qbDOC->createElement('Nick');
  52.  $qbNICK = $qbPERSON->appendChild($qbNICK);
  53.  $qbNICK_text = $qbDOC->createTextNode($qbNick);
  54.  $qbNICK_text = $qbNICK->appendChild($qbNICK_text);
  55.  // stworz dizecko Mail
  56.  $qbMAIL = $qbDOC->createElement('Mail');
  57.  $qbMAIL = $qbPERSON->appendChild($qbMAIL);
  58.  $qbMAIL_text = $qbDOC->createTextNode($qbMail);
  59.  $qbMAIL_text = $qbMAIL->appendChild($qbMAIL_text);
  60.  // stworz dziecko content
  61.  $qbCONTENT = $qbDOC->createElement('Content');
  62.  $qbCONTENT = $qbPERSON->appendChild($qbCONTENT);
  63.  $qbCONTENT_text = $qbDOC->createTextNode($qbContent);
  64.  $qbCONTENT_text = $qbCONTENT->appendChild($qbCONTENT_text);
  65.  
  66.  $qbIP = $qbDOC->createElement('IP');
  67.  $qbIP = $qbPERSON->appendChild($qbIP);
  68.  $qbIP_text = $qbDOC->createTextNode($ipek);
  69.  $qbIP_text = $qbIP->appendChild($qbIP_text);
  70.  
  71.  
  72.  
  73.  $teraz = getdate(); $month = $teraz[month]; $mday = $teraz[mday]; $year = $teraz[year];
  74.  $time = date("g:i a");
  75.  $pokaz = "$year-$month-$mday, $time";
  76.  
  77.  
  78.  $qbTIME = $qbDOC->createElement('Time');
  79.  $qbTIME = $qbPERSON->appendChild($qbTIME);
  80.  $qbTIME_text = $qbDOC->createTextNode($pokaz);
  81.  $qbTIME_text = $qbTIME->appendChild($qbTIME_text);
  82.  
  83.  
  84.  // zapisz do pliku
  85.  $qbDOC->save('QBook.xml');
  86.  
  87.  header("Location: ../start.php?go=QuestBook");
  88.  
  89.  } else
  90.  {
  91.  echo 'nick zastrzezony!';
  92.  }
  93. ?>


edit:
poprawielm ten fragment bo zle bylo
  1. <?php
  2.  $qbDOC->preserveWhiteSpace = false;
  3.  $qbDOC->formatOutput = true;
  4. ?>

i nic niedaje ;/
chomik-00
zamiast:

Cytat
Kod
// zapisanie do pliku XML
          $qbDOC = new DOMDocument('1.0');
          $qbDOC->load('QBook.xml');
          $qbDOC->preserveWhiteSpace = false;
          $qbDOC->formatOutput = true;


zrób:

Kod
// zapisanie do pliku XML
          $qbDOC = new DOMDocument('1.0');
          $qbDOC->preserveWhiteSpace = false;
          $qbDOC->formatOutput = true;
          $qbDOC->load('QBook.xml');
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.