Hledat:

Invia.cz Last minute Tunisko Dovolená v Chorvatsku Pojeďte do Egypta Bulharsko Vydělávejte peníze s INVIA.CZ
 

Simple API for XML

(Přesměrováno z SAX, přímý odkaz na Simple API for XML)

Simple API for XML (zkráceně SAX) umožňuje sériový přístup ke XML. Jde o tzv. proudové zpracování, při kterém se dokument rozdělí na jednotlivé jeho části (počáteční a koncové značky, obsahy elementů, komentáře, atd.). Postupně se pak volají jednotlivé události, které ohlašují nalezení konkrétní části. Způsob zpracování těchto jednotlivých událostí je pak již plně v kompetenci programátora.

Tato metoda vypadá na první pohled velice náročně, své uplatnění však má v konkrétních složitějších způsobech zpracování XML, zvláště tam, kde se k dokumentu nepřistupuje náhodně, ale sekvenčně se postupně čte celý obsah. Její další výhoda spočívá v rychlosti zpracovávání a menší paměťové náročnosti. Oproti DOMu bývá několikrát rychlejší, což u větších dokumentů může značně zkrátit čas vykonávání jednotlivých skriptů.

[editovat] Příklad použití SAXu v PHP

<?php
// vytvoření nového SAX parseru
$this->parser = xml_parser_create();
 
// při nalezení počátečního a koncového tagu se bude volat funkce onStartElement() a onEndElement
xml_set_element_handler($this->parser, "onStartElement", "onEndElement");
 
// nastavení funkce pro zpracování obsahu tagů na onContent()
xml_set_character_data_handler($this->parser, "onContent");
 
// postupné čtení vstupního souboru (zde example.xml)
if ($f = fopen("example.xml","r"))
{
// čtení souboru po 4 KB a jeho zpracovávání parserem
while ($xml_data = fread($f,4096))
if (!$this->parseString($xml_data, feof($f)))
{ // vrátí-li metoda nulovou hodnotu, došlo k chybě
echo "Chyba parsování!";
}
fclose($f);
}
 
// tato funkce je volána při nalezení počátečního tagu
function onStartElement($parser, $elementName, $attributes)
{
echo "nalezen počátečni tag s názvem $elementName: ";
foreach ($attributes as $nazev => $hodnota)
echo " atribut $nazev = '$hodnota';\n";
echo "\n";
}
 
// tato funkce je volána při nalezení koncového tagu
function onEndElement($parser, $elementName)
{
echo "nalezen koncový tag s názvem $elementName: ";
}
 
// tato funkce je volána poté, co je znám obsah elementu
function onContent ($parser, $content)
{
echo "obsah elementu: $content\n";
}
?>
 
Simple API for XML v jiných jazycích: Deutsch, English, Español, فارسی, Suomi, Français, עברית, Italiano, 日本語, 한국어, Nederlands, Polski, Português, Русский, ไทย, Українська, Tiếng Việt, 中文
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/Simple_API_for_XML
Stránka byla naposledy upravena v Stránka byla naposledy editována 24. 9. 2008 v 04:33.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt | Set-top-boxy