Freetz
Guest
Тегам xml не ставятся в соответствие теги html
Я пишу систему добавления и вывода новостей на основе xml на PHP4 с использование Expat. Вопрос в следующем:
Есть код:
$this->open_tag=array(
"news" => "<table width='75%' border='0' cellspacing='0' cellpadding='0'><tr>",
"header" => "<td>",
"pic" => "<td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='21%'>",
"text" => "<td width=79%>",
"date" => "<tr><td>");
То же самое есть для закрывающих тегов.
А потом непосредственно работа xml:
$this->xml_parser = xml_parser_creat();
xml_set_object($this->xml_parser, &$this);
xml_parser_option($this->xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($this->xml_parser, "startElement", "endElement");
xml_set_character_data_handler($this->xml_parser, "characterData");
$fp = fopen($this->xml_file, "r");
$data=fread($fp, 4096);
xml_parse($this->xml_parser, $data);
Обработчики тегов(startElement и endelement) работают
след.образом:
function startElement($parser, $name, $attrs)
{
if ($format == $this->open_tag[$name])
{
$this->html.=$format;
}
}
А теперь вопрос: почему у меня не формируется HTML-код, описанный в массивах открывающих и закрывающих тегов xml? Вместо этого, данные заключенные в теги xml выводятся в чистом виде, без какого либо html! Заранее спасибо за ответ.
Я пишу систему добавления и вывода новостей на основе xml на PHP4 с использование Expat. Вопрос в следующем:
Есть код:
$this->open_tag=array(
"news" => "<table width='75%' border='0' cellspacing='0' cellpadding='0'><tr>",
"header" => "<td>",
"pic" => "<td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='21%'>",
"text" => "<td width=79%>",
"date" => "<tr><td>");
То же самое есть для закрывающих тегов.
А потом непосредственно работа xml:
$this->xml_parser = xml_parser_creat();
xml_set_object($this->xml_parser, &$this);
xml_parser_option($this->xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($this->xml_parser, "startElement", "endElement");
xml_set_character_data_handler($this->xml_parser, "characterData");
$fp = fopen($this->xml_file, "r");
$data=fread($fp, 4096);
xml_parse($this->xml_parser, $data);
Обработчики тегов(startElement и endelement) работают
след.образом:
function startElement($parser, $name, $attrs)
{
if ($format == $this->open_tag[$name])
{
$this->html.=$format;
}
}
А теперь вопрос: почему у меня не формируется HTML-код, описанный в массивах открывающих и закрывающих тегов xml? Вместо этого, данные заключенные в теги xml выводятся в чистом виде, без какого либо html! Заранее спасибо за ответ.