Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][xml] XML generowany przez skrypt A
Forum PHP.pl > Forum > PHP
windman
Witam,

Skrypt A w pliku a.php generuje xml'a:

  1. header('Content-type: application/xml; charset="utf-8"');
  2. $fileContent.= '<?xml version="1.0" encoding="utf-8"?.">\n";
  3. $fileContent.= "<element_glowny>\n";
  4. $fileContent.= "<el2>\n";
  5. $fileContent.= "s</el2>\n";
  6. $fileContent.= "</element_glowny>\n";
  7. echo $fileContent;
  8. ?>


Skrypt B w pliku b.php "stara się" odczytac xml'a wygenerowanego przez plik a.php:

  1. <?php
  2. $inhalt = new SimpleXMLElement(file_get_contents('a.php'));
  3. print_r($inhalt);
  4. ?>


Otrzymuje komunikat bledu:
"Warning: SimpleXMLElement::__construct(): Entity: line 11: parser error : Start tag expected, '<' not found in /srv/www/htdocs/vhosts/domaindb/test3.php on line 5
Warning: SimpleXMLElement::__construct(): ?> in /srv/www/htdocs/vhosts/domaindb/test3.php on line 5
Warning: SimpleXMLElement::__construct(): ^ in /srv/www/htdocs/vhosts/domaindb/test3.php on line 5
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /srv/www/htdocs/vhosts/domaindb/test3.php:5 Stack trace: #0 /srv/www/htdocs/vhosts/domaindb/test3.php(5): SimpleXMLElement->__construct('
"

Ktoś może mi wskazac gdzie robie błąd_
mike
Myśląc, że w takiej sytuacji:
  1. <?php
  2. ?>
wczytasz jakikolwiek wynik działania (czy to ma być XML czy cokolwiek innego) popełniasz błąd.
PHP to skrypty, które najczęściej są uruchamiane przez serwer http i dopiero wtedy dzialają.
Jeśli chcesz uruchomić skrypt a.php i jego wynik wczytać musisz zrobić to z pomocą apache'a:
  1. <?php
  2. file_get_contents('http://jakiś.adres/a.php');
  3. ?>
windman
Cytat(mike @ 12.02.2009, 12:30:17 ) *
Myśląc, że w takiej sytuacji ... wczytasz jakikolwiek wynik działania (czy to ma być XML czy cokolwiek innego) popełniasz błąd.
PHP to skrypty, które najczęściej są uruchamiane przez serwer http i dopiero wtedy dzialają.
Jeśli chcesz uruchomić skrypt a.php i jego wynik wczytać musisz zrobić to z pomocą apache'a: file_get_contents('http://jakiś.adres/a.php');


Dzięki
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.