note 42729 added to function.xml-set-character-data-handler
| From: | karuna_gadde at yahoo dot com | Date: | Thu, 27 May 2004 11:01:25 +0000 |
| Subject: | note 42729 added to function.xml-set-character-data-handler | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-70172@lists.php.net to get a copy of this message | ||
<?
class Parser {
var $att;
var $id;
var $title;
var $content;
var $index=-1;
var $xml_parser;
var $tagname;
function parser()
{
$file = "data.xml";
$this->xml_parser = xml_parser_create();
xml_set_object($this->xml_parser,$this);
xml_set_element_handler($this->xml_parser, "startElement", "endElement");
xml_set_character_data_handler($this->xml_parser, 'elementContent');
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($data = fread($fp, 4096)) {
$data=eregi_replace(">"."[[:space:]]+"."<","><",$data);
if (!xml_parse($this->xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($this->xml_parser)),
xml_get_current_line_number($this->xml_parser)));
}
}
xml_parser_free($this->xml_parser);
}
function startElement($parser, $name, $attrs) {
if (($name=="TREE") or ($name=="NODE") or ($name=="LEAFNODE"))
{
$this->index++;
$this->att[$this->index]=$name;
}
$this->tagname=$name;
}
function elementContent($parser, $data) {
switch ($this->tagname)
{
case 'ID':
$this->id[$this->index]=trim($data);
break;
case 'TITLE' :
$this->title[$this->index]=trim($data);
//echo $data;
break;
case 'CONTENT' :
$this->content[$this->index]=trim($data);
break;
}
}
function endElement($parser, $name){
$this->tagname=="";
}
}
?>
I thought this class is more help full to know about xml_parser with no white spaces
----
Manual Page -- http://www.php.net/manual/en/function.xml-set-character-data-handler.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+42729
Delete -- http://master.php.net/manage/user-notes.php?action=delete+42729&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+42729&report=yes
Search -- http://master.php.net/manage/user-notes.php