Kôd:
<?xml version="1.0" encoding='UTF8'?>
<baza_osoba>
<osoba>
<ime>Pera</ime>
</osoba>
<osoba>
<ime>Mića</ime>
</osoba>
<osoba>
<ime>Miša</ime>
</osoba>
<osoba>
<ime>Miša ćušić</ime>
</osoba>
</baza_osoba>
PHP kôd:
<?php
error_reporting(E_ALL);
if (!($xmlparser = xml_parser_create()))
{
die ("bla");
}
function start_tag($parser, $name) {
echo "<b>$name</b><br>";
}
function end_tag($parser, $name) {
echo "<b>$name</b><br>";
}
function tag_contents($parser, $data) {
echo "<i>$data</i><br>";
}
xml_set_character_data_handler($xmlparser, "tag_contents");
xml_set_element_handler($xmlparser, "start_tag", "end_tag");
$filename = "xml2.xml";
$fp=fopen($filename,"r");
while ($data = fread($fp, 4096)){
//$data=eregi_replace(">"."[[:space:]]+"."<","><",$data);
if (!xml_parse($xmlparser, $data, feof($fp))) {
$reason = xml_error_string(xml_get_error_code($xmlparser));
$reason .= xml_get_current_line_number($xmlparser);
die("<h1>$reason</h1>");
}
}
xml_parser_free($xmlparser);
/*
$xmlfajl=file_get_contents("xml2.xml");
xml_parse($xmlparser,$xmlfajl);
xml_parser_free($xmlparser);
*/
?>
i dobijem :
Kôd:
BAZA_OSOBA
OSOBA
IME
Pera
IME
OSOBA
OSOBA
IME
Mi
ća
IME
OSOBA
OSOBA
IME
Mi
ša
IME
OSOBA
OSOBA
IME
Mi
ša ćušić
IME
OSOBA
BAZA_OSOBA
znaci kad se dodje do naseg slova, to se izgleda tretira kao element i prebacuje se u novi red.
a nekad se i ne prebaci:
svi fajlovi su UTF8 , i svasta sam probao, i sve mi se vise cini da je resenje neko trivijalno
ps. sorry na duzem postu