note 52420 added to function.xml-set-element-handler
| From: | youniforever at naver dot com | Date: | Sat, 30 Apr 2005 10:41:26 +0000 |
| Subject: | note 52420 added to function.xml-set-element-handler | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-88786@lists.php.net to get a copy of this message | ||
<html>
<head>
<title>SAX Demonstration</title>
<META HTTP-EQUIV='Content-type' CONTENT='text/html; charset=euc-kr'>
</head>
<body>
<h1>RSS ¸®´õ±â</h1>
<?php
$file = "data.xml";
$currentTag = "";
$currentAttribs = "";
function startElement($parser, $name, $attribs)
{
global $currentTag, $currentAttribs;
$currentTag = $name;
$currentAttribs = $attribs;
switch ($name) {
default:
echo("<b><$name></b><br>");
break;
}
}
function endElement($parser, $name)
{
global $currentTag;
switch ($name) {
default:
echo("<br><b></$name></b><br><br>");
break;
}
$currentTag = "";
$currentAttribs = "";
}
function characterData($parser, $data)
{
global $currentTag;
switch ($currentTag) {
case "link":
echo("<a href=\"$data\">$data</a>\n");
break;
case "title":
echo("title : $data");
break;
default:
echo($data);
break;
}
}
$xmlParser = xml_parser_create();
$caseFold = xml_parser_get_option($xmlParser,
XML_OPTION_CASE_FOLDING);
$targetEncoding = xml_parser_get_option($xmlParser,
XML_OPTION_TARGET_ENCODING);
if ($caseFold == 1) {
xml_parser_set_option($xmlParser, XML_OPTION_CASE_FOLDING, false);
}
xml_set_element_handler($xmlParser, "startElement", "endElement");
xml_set_character_data_handler($xmlParser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("Cannot open XML data file: $file");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xmlParser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xmlParser)),
xml_get_current_line_number($xmlParser)));
xml_parser_free($xmlParser);
}
}
xml_parser_free($xmlParser);
?>
</table>
</body>
</html>
----
Manual Page -- http://www.php.net/manual/en/function.xml-set-element-handler.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+52420
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+52420&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+52420&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+52420&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+52420&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+52420&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+52420&report=yes
Search -- http://master.php.net/manage/user-notes.php