Generování XML dokumentu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Generování XML dokumentu – PHP – Fórum – Programujte.comGenerování XML dokumentu – PHP – Fórum – Programujte.com

 

cheeester0
Stálý člen
15. 12. 2010   #1
-
0
-

Ahoj,

mám záludný problém. Chci zavolat následující php script, který vrátí xml strukturu. Bohužel mi to stále končí s chybou:

PHP Parse error: syntax error, unexpected T_STRING in C:\inetpub\wwwroot\test\templates\XML\test3.php on line 2

Nevíte co mu může vadit??? Děkuji

<?php Header("Content-type: application/atom+xml"); ?>

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Aktuální články</title>
<link href="http://example.org/news" rel="self"/>
<updated><?php echo Date("c")?></updated>
<id>http://example.org/news</id>
<?php

// načtení "databáze" článků
include "clanky.php";

// průchod jednotlivými články
foreach ($clanky as $clanek)
{
echo "<entry>\n";
echo "<title>" . htmlspecialchars($clanek["nazev"]) . "</title>\n";
echo "<id>" . htmlspecialchars($clanek["url"]) . "</id>\n";
echo "<link href=\"" . htmlspecialchars($clanek["url"], ENT_QUOTES)
. "\" rel=\"alternate\" type=\"text/html\"/>\n";
echo "</entry>\n";
}
?>
</feed>

Nahlásit jako SPAM
IP: 80.188.27.–
Mafiosoweb0
Návštěvník
15. 12. 2010   #2
-
0
-

Vadí mu řádka 2 a to <?xml version="1.0" encoding="utf-8"?>
dej to pryc eventuelne misto radky 1 dej header("Content-type: text/xml");

Nahlásit jako SPAM
IP: 213.29.99.–
Jak jsem řekl, tak jest.
cheeester0
Stálý člen
15. 12. 2010   #3
-
0
-

To Mafiosoweb :

bohužel označení xml musím zanechat. Potřebuji to předat pro zpracování:

// načtení dokumentu XML

$xml = new DomDocument();
$xml->load("templates/XML/".$_GET["page"].".php", LIBXML_NOENT|LIBXML_DTDLOAD|LIBXML_DTDATTR);

// načtení stylu XSLT
$xsl = new DomDocument();
$xsl->load("templates/XSL/".$_GET["page"].".xsl", LIBXML_NOENT|LIBXML_DTDLOAD|LIBXML_DTDATTR);

// vytvoření procesoru XSLT
$proc = new xsltprocessor();
$proc->importStylesheet($xsl);

// provedení transformace a vypsání výsledku
echo $proc->transformToXML($xml);


upravil jsem řádek 1 ale stejný problém. Nechápu ale proč. Chci jen předat data pro zpracování XSL

<?php header("Content-type: text/xml"); ?>

<?xml version="1.0" encoding="utf-8"?>
<feed>
<title>Aktuální články</title>
<link href="http://example.org/news" rel="self"/>
<updated><?php echo Date("c")?></updated>
<id>http://example.org/news</id>
<?php

// načtení "databáze" článků
include "clanky.php";

// průchod jednotlivými články
foreach ($clanky as $clanek)
{
echo "<entry>\n";
echo "<title>" . htmlspecialchars($clanek["nazev"]) . "</title>\n";
echo "<id>" . htmlspecialchars($clanek["url"]) . "</id>\n";
echo "<link href=\"" . htmlspecialchars($clanek["url"], ENT_QUOTES)
. "\" rel=\"alternate\" type=\"text/html\"/>\n";
echo "</entry>\n";
}
?>
</feed>


Předem děkuj za pomoc

Nahlásit jako SPAM
IP: 80.188.27.–
Mafiosoweb0
Návštěvník
15. 12. 2010   #4
-
0
-

oki v tom pripade soubor mas *.php tim padem ji musis predat na vystup napr takto echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
ten tvuj zapis pro php znamena vstup do parsrovani php (tagy <? a ?>) a php se snazi zpracovat kod mezi tim (xml version="1.0" encoding="utf-8")
Hodně zdaru :-)

Nahlásit jako SPAM
IP: 93.99.187.–
Jak jsem řekl, tak jest.
cheeester0
Stálý člen
16. 12. 2010   #5
-
0
-

To Mafiosoweb :
Moc děkuji za pomoc!! To jsem netušil, že je v tom rozdíl. php už mi XML vrací. Bohužel tomu xsltprocessoru se pořád řádek s deklarací xml nelíbí. :o/

PHP Warning: DOMDocument::load() [<a href='domdocument.load'>domdocument.load</a>]: Start tag expected, '<' not found in file:///C:/inetpub/wwwroot/test/templates/XML/test.php, line: 3 in C:\inetpub\wwwroot\test\Default.php on line 33

Už opravdu nevím, co proto mám udělat, aby to fungovalo. Když si ale ten xml výstup toho php uložím, tak ten processor v pohodě začne s šablonou pracovat. :o///

Nahlásit jako SPAM
IP: 80.188.27.–
CZechBoY+4
Věrný člen
16. 12. 2010   #6
-
0
-

ty <? a ?> ještě odděl, mě to teda házelo php chybu myslim ('<'.'?další text...'.'?'.'>')

Nahlásit jako SPAM
IP: 213.192.10.–
cheeester0
Stálý člen
16. 12. 2010   #7
-
0
-

To CZechBoY : Tomu moc nerozumím. K čemu je tam ta tečka a jak to vypadá implementované v řešení výše? Děkuji

Nahlásit jako SPAM
IP: 188.175.119.–
cheeester0
Stálý člen
17. 12. 2010   #8
-
0
-

To Mafiosoweb :
Tak jsem ten php, který generuje xml přepracoval a vrací naprosto validní XML. Nechápu co pak tomu xsltprocessoru vadí na řádku 1. (označení xml hlavičky) :O///

$output = "<?xml version=\"1.0\" ?>\n"; 

$output .= "<schema>";

// načtení "databáze" článků
include "clanky.php";

// průchod jednotlivými články
foreach ($clanky as $clanek)
{
$output .= "<entry>\n";
$output .= "<title>" . htmlspecialchars($clanek["nazev"]) . "</title>\n";
$output .= "<id>" . htmlspecialchars($clanek["url"]) . "</id>\n";
$output .= "<link href=\"" . htmlspecialchars($clanek["url"], ENT_QUOTES)
. "\" rel=\"alternate\" type=\"text/html\"/>\n";
$output .= "</entry>\n";
}

$output .= "</schema>";

//hlavicka
header("Content-type: text/xml");
// vratim xml
echo $output;



Nahlásit jako SPAM
IP: 188.175.119.–
cheeester0
Stálý člen
19. 12. 2010   #9
-
0
-

Tak jsem s tím problémem s hlavičkou <?xml version=\"1.0\" ?> zabil celý víkend a bez výsledku :O(
Nemáte někdo s tímto problémem více zkušeností?? Moc by mi to pomohlo. Předem děkuji

Nahlásit jako SPAM
IP: 188.175.119.–
filippop0
Návštěvník
21. 12. 2010   #10
-
0
-

Tak mě napadlo zkusit to oddělit mezerama:
<?xml version = "1.0" ?>
popřípadě tam ještě vložit kódování
<?xml version = "1.0" encoding = "utf-8"?>, ale to jsi určo zkoušel...

Nahlásit jako SPAM
IP: 85.71.14.–
cheeester0
Stálý člen
21. 12. 2010   #11
-
0
-

To filippop : jj zkoušel. Vadí mu toto na začátku xml <? Ale díky za nápad. Zatím to xml ukládám na disk a načítám staticky. Je to ale nepraktické, když se to dá držet v paměti. V .NET s tím takové komplikace nejsou. :O/

Nahlásit jako SPAM
IP: 188.175.119.–
filippop0
Návštěvník
21. 12. 2010   #12
-
0
-

a co escapnout ten otazník?

Nahlásit jako SPAM
IP: 85.71.14.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý