Предположим, у вас имеется документ XML bookmarks.xml, содержащий список ссылок. Он выглядит примерно так:
<?xml version="1.0"?>
<website>
<title>Epicurious</title>
<url>http://www.epicurious.com</url>
<description>
Epicurious is a great online cooking resource, providing tutorials.
recipes, forums and more.
</description> </website>
Допустим, вы хотите преобразовать bookmarks.xml и вывести его содержимое в формате, совместимом с форматом браузера вашего компьютера. Программа, приведенная в листинге 14.3, преобразует файл к нужному формату.
Листинг 14.3.
Преобразование XML в HTML
Class XMLHTML {
VAR $xmlparser: VAR $tagcolor ="#800000";
VAR $datacolor ="#0000ff";
function XMLHTML( ) {
$this->xmlparser = xml_parser_create();
xml_set_object($this->xmlparser. &$this);
xml_set_element_handler($this->xmlparser, "startTag", "endTag");
xml_set_character_data_handler($this->xmlparser. "characterData");
}
// Функция отвечает за обработку всех открывающих тегов.
function startTag($parser, $tagname, $attributes) {
GLOBAL $tagcolor;
print "<font size=\"-2\" color=\"$this->tagcolor\" face=\"arial,
verdana\ ">&1 t ; $tagname> ; </f ont> <br>" ;
// Функция отвечает за обработку всех символьных данных.
function characterData($parser. $characterData) {
GLOBAL $datacplor;
print "<font size=\"-2\" color=\"$this->datacolor\" face=\"arial,
verdana\ "> $characterData</font> <br>";
// Функция отвечает за обработку всех закрывающих тегов.
function endTag(Sparser, $tagname) {
GLOBAL Stagcolor;
print "<font size=\"-2\" color=\"$this->tagcolor\" face=\"arial,
verdana\"></
$tagname></font> <br>";