Pogledajte određenu poruku
Staro 08. 07. 2008.   #1
apash86
član
Na probnom radu
 
Datum učlanjenja: 07.07.2008
Lokacija: Jagodina
Poruke: 42
Hvala: 0
4 "Hvala" u 4 poruka
apash86 is on a distinguished road
Default xml parsiranje, cudan problem sa nasim slovima

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($fp4096)){
   
//$data=eregi_replace(">"."[[:space:]]+"."<","><",$data);
   
if (!xml_parse($xmlparser$datafeof($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.
Kôd:
IME
Mi
ća
IME
a nekad se i ne prebaci:
Kôd:
IME
Mi
ša ćušić
IME
svi fajlovi su UTF8 , i svasta sam probao, i sve mi se vise cini da je resenje neko trivijalno

ps. sorry na duzem postu
apash86 je offline   Odgovorite uz citat