imam XML dokument koji izgleda otprilike ovako:
Code:
<message>...</message>
<message>...</message>
<message>...</message>
...
<message>...</message>
<message>...</message>
<message>...</message>
...
Takav dokument treba da isparsiram sa PHP-om uz upotrebu XSLT-a.
Napravio sam resenje, sve radi, osim jedne "sitnice". Naime, gornji XML dokument nije dobro formirani. Trebalo bi da bude ovako:
Code:
<messages>
<message>...</message>
<message>...</message>
<message>...</message>
...
</messages>
<messages>
<message>...</message>
<message>...</message>
<message>...</message>
...
</messages>
Problem je u tome sto su to ustvari XML logovi koji se tako (nepravilno) generisu i ne mogu direktno da uticem na njih.
Dakle, PHP-ov parser se buni zbog te nepravilnosti. Bila mi je ideja da uz pomoc konkatenacije resim ovaj problem i evo kako sam to smislio:
Code:
<?php
$test = file_get_contents('moje.xml');
$novi = "<messages><br/>" . $test . "<br/></messages><br/>";
/* Resenje koje ne radi zbog navedenog problema
$xmlfile = "moje.xml";
$xslfile = "moj.xsl";
$engine = xslt_create();
$output = xslt_process($engine, $xmlfile, $xslfile, NULL, NULL, NULL);
print $output;
xslt_free($engine);
*/
?>
<?php
$test = file_get_contents('moje.xml');
$novi = "<messages><br/>" . $test . "<br/></messages><br/>";
/* Resenje koje ne radi zbog navedenog problema
$xmlfile = "moje.xml";
$xslfile = "moj.xsl";
$engine = xslt_create();
$output = xslt_process($engine, $xmlfile, $xslfile, NULL, NULL, NULL);
print $output;
xslt_free($engine);
*/
?>
Nadovezao sam sta mi treba, medjutim sada je XML sadrzaj promenjen! Nema vise < i > i to mi kvari posao.
Kako da resim ovaj problem? Dakle, imam jedan XML fajl i treba da ga promenim kroz php tako sto cu dodati dva taga koja fale!
Hvala
[Ovu poruku je menjao Vanja Petreski dana 18.04.2005. u 20:19 GMT+1]