Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][PHP]Parsowanie xml-i w php-ie
Forum PHP.pl > Forum > Przedszkole
srkhan
Witam,
Próbuje wysłać zmienne do xml-a za pomocą php, ale tak by xm-l został nadpisany,
Mój kod php wygląda tak:
  1. <?php
  2. $tytul = $_POST['tytul'];
  3. $tresc =$_POST['tresc'];
  4.  
  5. $dane ='<?xml version="1.0" ?>
  6. <?xml-stylesheet type="text/xsl? href="xsl.xsl"?>
  7. <section>
  8. <artykul>
  9. <tytul>'.$tytul.'</tytul>
  10. <opis>'.$tresc.'</opis>
  11. </artykul>
  12. </section>
  13. ';
  14.  
  15. $wp = fopen('artykuly.xml', 'w+');
  16. fwrite($wp, $dane);
  17. fclose($wp);
  18.  
  19. <?phpr

A dokument xml tak:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <section>
  3. <artykul>
  4. <tytul>jakis tytuł</tytul>
  5. <opis> jakis opis</opis>
  6. </artykul>
  7. </section>


Bardzo proszę o pomoc.
Pozdrawiam
Krystian K.
Fifi209
Zamiast w+ daj samo w

to jest raz

dwa simplexml
srkhan
Dziękuję za pomoc. Tak się składa, że ja w php-ie nie jestem mocny. Czytałem o SimpleXML, tylko że ja nic z tego nie mogę zrozumieć. wstydnis.gif

Wykombinowałem coś takiego ale nadal nie działa:(
  1. <?php
  2. $tytul = $_POST['tytul'];
  3. $tresc =$_POST['tresc'];
  4.  
  5. $d = simplexml_load_file('artykuly.xml');
  6. $d->tytul->$tytul
  7. $d->opis->tytul
  8. echo $d->getName();
  9.  
  10. foreach ($d->children() as $child) {
  11. echo $child;
  12.  
  13. $wp = fopen('artykuly.xml', 'w');
  14. fwrite($wp, $d);
  15. fclose($wp);
  16.  
  17. <?php

frantic09
A spróbuj do zapisu użyć
  1. $d->asXML("nazwapliku.xml");

Opisz jeszcze co Ci nie wychodzi wink.gif
srkhan
PHP pobiera zmienne z Flash-a.A PHP nie wysyła zmiennych do xml-a. I to własnie nie działa bo powinien xml pobrać te dwie zmienne za pomocą PHP. Ja już kombinuje z tym bardzo długo i przechodzę załamanie, że nic mi się nie udaje wstydnis.gif

Kurcze, bardzo proszę o pomoc. Jest mi to bardzo potrzebne. co_jest.gif
frantic09
W takim razie zerknij tutaj http://forum.php.pl/index.php?showtopic=144649 Jest tu dużo przydatnych Ci funkcji jak
  1. $xml->getElementsByTagName();
  2. $xml->getAttribute();
  3. $xml->setAttribute(); //ten chyba Ci pomoże w zmianie wartości zmeinnych

A jak nie, to tworzysz nowy plik XMLa tongue.gif wykorzystując
  1. $xml->appendChild();
  2. $xml->createElement();
wookieb
Poproszę na PW poprawną nazwę tematu.
// Otwieram
srkhan
Ja już sam się gubię. Mam teraz taki kod w php-ie
  1. <?php
  2. $name = $_POST['name'];
  3. $message =$_POST['message'];
  4.  
  5. $dane ='<?xml version="1.0" ?>
  6. <?xml-stylesheet type="text/xsl? href="xsl.xsl"?>
  7. <section>
  8. <artykul>
  9. <tytul>'.$name.'</tytul>
  10. <opis>'.$message.'</opis>
  11. </artykul>
  12. </section>
  13. ';
  14.  
  15.  
  16. $wp = fopen('artykuly.xml', 'w');
  17. fwrite($wp, $dane);
  18. fclose($wp);
  19. ?>

Tylko jest jeden problem, cały kod działa, generuje xml-a ale usuwa poprzednie dane i wprowadza nowe. Mi zależy by on dodawał kolejne wpisy w xmlu i w dodatku na pierwszym miejscu. Pomoże ktoś?

Zmieniłem kod php na :
  1. $name = $_POST['name'];
  2. $message = $_POST['message'];
  3.  
  4. include 'artykuly.php';
  5.  
  6. $sxe = new SimpleXMLElement($xmlstr);
  7. $sxe->addAttribute('documentary');
  8.  
  9. $artykul = $sxe->addChild('artykul');
  10. $artykul->addChild('title', '$name');
  11. $artykul->addChild('plot', '$message');
  12.  
  13.  
  14. echo $sxe->asXML();


kod artykuly.php
  1. $xmlstr = <<<XML
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <section>
  4. <artykul>
  5. <tytul></tytul>
  6. <opis></opis>
  7. </artykul>
  8. </section>
  9. XML;


I nadal nie dopisuje danych do xml-a.
Proszę o pomoc
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.