Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie pliku xml za pomocą php
Darek1985
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 1.04.2006

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


Witam.Chcę stworzyć skrypt który będzie generował pliik xml według poniższego szablonu

  1. <?xml version="1.0" standalone="yes" ?>
  2. - <all>
  3. - <aktualnosci>
  4. - <newsy>
  5. - <news>
  6. - <data>
  7.  <b>12-12-2006</b>
  8.  </data>
  9.  <tresc>jakis news</tresc>
  10.  </news>
  11. - <news>
  12. - <data>
  13.  <b>13-13-1313</b>
  14.  </data>
  15.  <tresc>jakis inny news</tresc>
  16.  </news>
  17. - <news>
  18. - <data>
  19.  <b>14-14-1413</b>
  20.  </data>
  21.  <tresc>news</tresc>
  22.  </news>
  23. - <news>
  24. - <data>
  25.  <b>15-15-1413</b>
  26.  </data>
  27.  <tresc>news aaaaaaa</tresc>
  28.  </news>
  29. - <news>
  30. - <data>
  31.  <b>16-16-1413</b>
  32.  </data>
  33.  <tresc>news bbbbbbbbbbbb</tresc>
  34.  </news>
  35. - <news>
  36. - <data>
  37.  <b>17-17-1713</b>
  38.  </data>
  39.  <tresc>news ccccccccccc</tresc>
  40.  </news>
  41. - <news>
  42. - <data>
  43.  <b>18-18-1413</b>
  44.  </data>
  45.  <tresc>newshhhhhhhhhh</tresc>
  46.  </news>
  47.  </newsy>
  48.  </aktualnosci>
  49. - <linkownia>
  50. - <linki>
  51. - <link>
  52.  <opis>aaaaa</opis>
  53.  <adres>www.az.pl</adres>
  54.  </link>
  55. - <link>
  56.  <opis>bbbbbb</opis>
  57.  <adres>www.google.pl</adres>
  58.  </link>
  59. - <link>
  60.  <opis>Avin</opis>
  61.  <adres>www.avin.pl</adres>
  62.  </link>
  63.  </linki>
  64.  </linkownia>
  65. - <email>
  66.  <adres>erven@avin.pl</adres>
  67.  </email>
  68. - <artykuly>
  69.  <artykul1>jakis przykladowy artykul</artykul1>
  70.  <artykul2>znow zjebany artykul</artykul2>
  71.  <artykul3>krowa lataja</artykul3>
  72.  <artykul4>bciany spiewaja</artykul4>
  73.  </artykuly>
  74. - <galeria>
  75.  <zdjecie1 opis="moj pierwszy opis">foto0.jpg</zdjecie1>
  76.  <zdjecie2 opis="rower">foto1.jpg</zdjecie2>
  77.  <zdjecie3 opis="auto">foto2.jpg</zdjecie3>
  78.  <zdjecie4 opis="motorowka">foto3.jpg</zdjecie4>
  79.  <zdjecie5 opis="gniazdo">foto4.jpg</zdjecie5>
  80.  <zdjecie5 opis="bulka z pradem">foto5.jpg</zdjecie5>
  81.  <zdjecie5 opis="maslo maslane">foto6.jpg</zdjecie5>
  82.  </galeria>
  83.  </all>

Wszystko było by ok kod narazie beta nie wywołuje wszystkiego to

  1. <?php
  2. header("Content-type: text/xml; charset=UTF-8");
  3. mysql_connect('ip','baza','haslo') or die();
  4.  
  5. mysql_select_db("pud") or die("nie mozna sie polaczyc z z ta baza");
  6. $wynik=mysql_query("SELECT*FROM nosh_ar ;") or die("blad w zapytaniu");
  7.  
  8. $rekord = mysql_fetch_assoc($wynik);
  9.  
  10. echo '<?xml version="1.0" encoding="UTF-8"?>';
  11. $data=$rekord['last_modified'];
  12.  
  13. $tresc=$rekord['content'];
  14. $opis=$rekord['description'];
  15.  
  16.  
  17.  echo '<all>'.'</br>';
  18. echo '<aktualnosci>'; 
  19.  echo '<newsy>';
  20. while ($rekord = mysql_fetch_assoc($wynik)){
  21. echo '</br>'.'<news>';
  22. echo '<data>'; 
  23.  echo '<b>'.$data.'</b>';
  24. echo '<data>';
  25.  echo '<tresc>'.$tresc.'</tresc>';
  26. echo '</news>';
  27.  echo '</newsy>';
  28. } 
  29. echo '</aktualnosci>';
  30. echo '</all>';
  31.  
  32. echo '<linkownia>';
  33.  echo '<linki>';
  34.  echo '<link>';
  35. echo '<opis>'.$opis.'</opis>';
  36.  echo '<adres>'.$opis.'</adres>';
  37.  echo '</link>';
  38.  echo '</linki>';
  39. echo '<linkownia>';  
  40.  ?>


jednak mój plik generuje coś takiego
<?xml version="1.0" encoding="UTF-8"?><all></br><aktualnosci><newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></br><news><data><b>2006-08-17 17:43:43</b><data><tresc>uonetime</tresc></news></newsy></aktualnosci></all>
Wszystko w jednym pasku.Jak zrobić aby znaczniki były oddzielone tak jak powyższym przykładzie,pozatym plik generuje kod xml ale dalej w pliku php.Jak zrobic aby był on zapisany z rozszerzeniem xml?

Ten post edytował Darek1985 17.08.2006, 17:12:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
legorek
post
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Tam gdzie chcesz złamac linię dopisać "\r\n" (koniecznie w " bo z ' nie będzie działać)

czyli np:

  1. <?php
  2. echo "<aktualnosci>rn";
  3. ?>
lub jak wolisz

  1. <?php
  2. '<aktualnosci>'."rn"
  3. ?>
Go to the top of the page
+Quote Post
Darek1985
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 1.04.2006

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


Ok super o to chodziło.A da się tak zrobić aby ten kod xml zapisywał w pliku z rozszerzeniem xml? bądz w pliku xml dać kod php który by był przetwarzany przez php i dawał w rezultacie taki kod?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Po prostu nie 'echuj'* tego, tylko przypisz do zmiennej, a potem zaisz do pliki. POtrzebne funkcje znajdziesz w manualu.

Pozdrawiam.

* Przepraszam za tą dziwną konstrukcję językową (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Ten post edytował Cysiaczek 17.08.2006, 19:08:34
Go to the top of the page
+Quote Post
legorek
post
Post #5





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Cytat(Darek1985 @ 17.08.2006, 16:24 ) *
bądz w pliku xml dać kod php który by był przetwarzany przez php i dawał w rezultacie taki kod?


Tak da się to zrobić, wykorzystaj pliki .htaccess i dyrektywę ForceType.

Kod
<Files plik.xml>
ForceType application/x-httpd-php
</Files>


Spowoduje to że plik.xml wykona się jak skrypt php. Oczywiście musisz mieć odpowiedniu skonfigurowany serwer, ale wydaje mi się, że na większości serwerów to działa.
Go to the top of the page
+Quote Post
mariuszn3
post
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


W ogóle może lepiej skorzystaj z jakiegoś gotowego rozszerzenia php do XML'a i potem po prostu wypluj kod.. mniej pisania będzie i ryzyka, że gdzieś coś pomyliłeś.
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: 23.08.2025 - 20:09