|
PHP-Fusion
v.7.01 |
AP-Fusion
v7.02.03 |
Pimped-Fusion-AP
v0.09.03 |
| февраля 10 2012 16:28:11 |
|
xml_parseОписаниеbool xml_parse ( resource parser, string data [, bool is_final] )xml_parse() parses an XML document. The handlers for the configured events are called as many times as necessary. Список параметров
Возвращаемые значенияВозвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. For unsuccessful parses, error information can be retrieved with xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number() and xml_get_current_byte_index().
Пример. Отображение XML в HTML
Этот пример отображает тэги XML-документа непосредственно в тэги HTML.
Элементы, не найденные в "массиве отображения", игнорируются.
Конечно, этот пример будет работать только со специфическим типом XML-документов.
$file = "data.xml";
$map_array = array(
"BOLD" => "B",
"EMPHASIS" => "I",
"LITERAL" => "TT"
);
function startElement($parser, $name, $attrs) {
global $map_array;
if ($htmltag = $map_array[$name]) {
print "<$htmltag>";
}
}
function endElement($parser, $name) {
global $map_array;
if ($htmltag = $map_array[$name]) {
print "$htmltag>";
}
}
function characterData($parser, $data) {
print $data;
}
$xml_parser = xml_parser_create();
// использовать выравнивание регистра, чтобы гарантированно найти тэг в $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
|
|
| 4,242,192 уникальных посетителей | Iceberg by Harly |