Note Submitter: cronnosli at gmail dot com
----
Hear after look around.
I make this code to get a xml file convert in an array.
<?
//Set parser
$parser = xml_parser_create();
$file = fopen("data_array.xml", "r");
$counter = 0;
$data_array = array();
$pos = '';
$value= '';
$Prime_tag = 'agenda';
$data_array_tag = 'contato';
function Position($parser, $element) {
global $pos, $counter, $Prime_tag, $data_array_tag;
if(strtolower($element) == $data_array_tag){
$counter++;
}elseif(strtolower($element) != $Prime_tag){
$pos = $element;
}
}
function GetData($parser, $data_array) {
global $value;
$value = $data_array;
}
function PutData($parser, $element) {
global $counter, $pos, $data_array, $value;
if(($pos != '')&&($value != '')) {
$data_array[$counter][$pos] = $value;
}
}
xml_set_element_handler($parser, "Position",
"Guardadata_array");
xml_set_character_data_array_handler($parser,
"PutData");
while($data_array = fread($file, 4096)) {
xml_parse($parser, $data_array);
}
//Unset parser
xml_parser_free($parser);
print_r($data_array);
?>
<?xml version="1.0"
encoding="iso-8859-1"?>
<agenda>
<contato>
<nome>Calçados</nome>
<ddd>34</ddd>
<comercial/>
<fax />
<residencial>3333652</residencial>
<celular>99142534</celular>
<mail>calcado hotmail.com</mail>
<endereco>Alaor da Esperança, 327</endereco>
<bairro>Centro</bairro>
<cidade>Uberaba</cidade>
<uf>MG</uf>
<cep>38010410</cep>
<eod />
</contato>
<contato>
<nome>Douglas Menegon Cordeiro</nome>
<ddd>34</ddd>
<comercial/>
<fax />
<residencial>33171984</residencial>
<celular>91154806</celular>
<mail>cronnosli gmail.com</mail>
<endereco>Alameda Joaquim Rosa, 77</endereco>
<cidade>Uberaba</cidade>
<uf>MG</uf>
<cep>38010450</cep>
<eod />
</contato>
</agenda>
any questions, please send me a email.
good luck
--
PHP Notes Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub
.php
|