Разборка в XML

Егор_Egerb

Новичок
Разборка в XML

Здравствуйте.
Может подскажит кто,вот я разборку XML файла делаю, все данные в массив загоняю,и у меня почему-то ключи в массиве удваиваются(данные нет, а вот ключи да)
<?php
$m=array();
$data1=array();
class xml1
{
var $parser;
function xml1()
{
$this->parser = xml_parser_create();
xml_set_object($this->parser, &$this);
xml_set_element_handler($this->parser, "tag_open", "tag_close");
xml_set_character_data_handler($this->parser, "cdata");
}

function parse($data)
{
xml_parse($this->parser, $data);
}
function tag_open($parser, $tag, $attributes)
{
global $m,$data1,$v;
foreach ($attributes as $a=>$v)
{
switch($a)
{
case SHBL:
if($tag==DOCUMENT)
$m[]=$v;
break;
case value:
breake;
default:
break;
}
}

}

function cdata($parser, $cdata)
{
global $v;
$data1[$v]=$cdata;
}
function tag_close($parser, $tag)
{
}
}
$xml_shbl = new xml1();
$xml_shbl->parse($xmldata);
?>
Вот выводит например :

Number]
[Number]
[Data]
[Data]
[PaySum]
[PaySum]
[_NSK]
[_NSK]
[_NSD]
[_NSD]
[_PKP]
[_PKP]
[_CHEREZ]
[_CHEREZ]
 

satanistlav

Новичок
Почему бы не использовать PEAR Xml Parser http://pear.php.net/package/XML_Parser
или же SimpleXML если есть поддержка php5
http://ru2.php.net/manual/ru/ref.simplexml.php
 

Pigmeich

Новичок
Егор_Egerb
элемент по стандарту DOM - это не только тег, но и текст внутри этого тега.

Соответственно надо фильтровать по типу узла.
 
Сверху