⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class.xml.parser.php

📁 web表格控件
💻 PHP
字号:
<?//============================================================================//============================================================================// Script:    	PHP Class "xmlParser"//============================================================================// From:	http://ch2.php.net/xml// Autor:	monte at NOT-SP-AM dot ohrt dot com// Date:	14-Sep-2005 06:48 // License/// Usage:	Open Source / for free	//============================================================================// DESCRIPTION:// This is a class for XML parsing with an URL input. It does:// -  Get File from URL (XML/RSS-File)// -  Parsing the file into array// -  Return Array//============================================================================//============================================================================class xmlParser{// *** ----------------------------------------------------------------// DECLARATIONvar $xml_obj = null;var $output = array();// *** ----------------------------------------------------------------// CONSTRUCTORfunction xmlParser(){$this->xml_obj = xml_parser_create();xml_set_object($this->xml_obj,$this);xml_set_character_data_handler($this->xml_obj, 'dataHandler'); xml_set_element_handler($this->xml_obj, "startHandler", "endHandler");} // *** ----------------------------------------------------------------function parse($path){if (!($fp = fopen($path, "r"))) {die("Cannot open XML data file: $path");return false;}while ($data = fread($fp, 4096)) {if (!xml_parse($this->xml_obj, $data, feof($fp))) {die(sprintf("XML error: %s at line %d",xml_error_string(xml_get_error_code($this->xml_obj)),xml_get_current_line_number($this->xml_obj)));xml_parser_free($this->xml_obj);}}return true;}// *** ----------------------------------------------------------------function startHandler($parser, $name, $attribs){$_content = array('name' => $name);if(!empty($attribs))$_content['attrs'] = $attribs;array_push($this->output, $_content);}// *** ----------------------------------------------------------------function dataHandler($parser, $data){if(!empty($data)) {$_output_idx = count($this->output) - 1;$this->output[$_output_idx]['content'] = $data;}}// *** ----------------------------------------------------------------function endHandler($parser, $name){if(count($this->output) > 1) {$_data = array_pop($this->output);$_output_idx = count($this->output) - 1;$this->output[$_output_idx]['child'][] = $_data;} }// *** ----------------------------------------------------------------function GetNodeByPath($path,$tree = false) {if ($tree) {$tree_to_search = $tree;}else {$tree_to_search = $this->output;}if ($path == "") {return null; }$arrPath = explode('/',$path);foreach($tree_to_search as $key => $val) {if (gettype($val) == "array") {$nodename = $val[name];if ($nodename == $arrPath[0]) { if (count($arrPath) == 1) { return $val;} array_shift($arrPath);$new_path = implode($arrPath,"/");return $this->GetNodeByPath($new_path,$val[child]);}}}}} // class : end?> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -