CakeFest 2024: The Official CakePHP Conference

XML Etiket Eşleme Örneği

Örnek 1 - XML etiketlerini HTML etiketlerine eşleme

Bu örnekte bir XML belgedeki etiketler doğrudan HTML etiketlerine eşlenmektedir. $map_array içinde bulunmayan etiketler yok sayılmaktadır. Elbette, bu örnek belli bir XML belgeye özgüdür.

<?php
$file
= "data.xml";
$map_array = array(
"BOLD" => "B",
"EMPHASIS" => "I",
"LITERAL" => "TT"
);

function
startElement($parser, $name, $attrs)
{
global
$map_array;
if (isset(
$map_array[$name])) {
echo
"<$map_array[$name]>";
}
}

function
endElement($parser, $name)
{
global
$map_array;
if (isset(
$map_array[$name])) {
echo
"</$map_array[$name]>";
}
}

function
characterData($parser, $data)
{
echo
$data;
}

$xml_parser = xml_parser_create();
// Etiketin $map_array içinde bulunduğundan emin olmak için
// büyük harfe dönüşüm uyguluyoruz
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(
"XML belge açılamadı");
}

while (
$data = fread($fp, 4096)) {
if (!
xml_parse($xml_parser, $data, feof($fp))) {
die(
sprintf("XML hatası: %d. satırda %s",
xml_get_current_line_number($xml_parser)),
xml_error_string(xml_get_error_code($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top