bool xml_parser_set_option ( resource $parser , int $option , mixed $value )
Parametry:
parser- Odniesienie do parsera XML, aby ustawić opcję cala
option- Która opcja została ustawiona. Patrz niżej.
Dostępne są następujące opcje:
Opcje stałe | Typ danych | Opis |
---|---|---|
XML_OPTION_CASE_FOLDING | integer | Kontroluje, czy zwijania jest włączona do tego parsera XML. Domyślnie włączone. |
XML_OPTION_SKIP_TAGSTART | integer |
Określa, ile znaków powinno być pominięte w początku nazwy znacznika.
|
XML_OPTION_SKIP_WHITE | integer |
Czy, aby pominąć wartości składające się z białych znaków.
|
XML_OPTION_TARGET_ENCODING | string | Zestawy skierowane do kodowania użyć w tym XML parser, domyślnie jest ustawiony na tym samym jako źródło kodowania używanego przez xml_parser_create (). Obsługiwane są docelowe kodowanie ISO-8859-1, US-ASCII i UTF-8. |
value- opcja nowej wartości
Listing
function xml_to_array( $file )
{
$parser = xml_parser_create();
xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, 0 );
xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 );
xml_parse_into_struct( $parser, file_get_contents($file), $tags );
xml_parser_free( $parser );
$elements = array();
$stack = array();
foreach ( $tags as $tag )
{
$index = count( $elements );
if ( $tag[\'type\'] == \"complete\" || $tag[\'type\'] == \"open\" )
{
$elements[$index] = array();
$elements[$index][\'name\'] = $tag[\'tag\'];
$elements[$index][\'attributes\'] = $tag[\'attributes\'];
$elements[$index][\'content\'] = $tag[\'value\'];
if ( $tag[\'type\'] == \"open\" )
{ # push
$elements[$index][\'children\'] = array();
$stack[count($stack)] = &$elements;
$elements = &$elements[$index][\'children\'];
}
}
if ( $tag[\'type\'] == \"close\" )
{ # pop
$elements = &$stack[count($stack) - 1];
unset($stack[count($stack) - 1]);
}
}
return $elements[0];
}
Ranga: Administrator serwisu Punktów: 0