本文实例讲述了PHP 使用expat方式解析xml文件操作。分享给大家供大家参考,具体如下:
test.xml:
<?xml version=1.0 encoding=UTF-8?> <notes> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> <note> <to>George2</to> <from>John2</from> <heading>Reminder2</heading> <body>Don't forget the meeting!2</body> </note> <instances> <instance st=192.168.234.121 /> <instance st=192.168.234.28 /> </instances> </notes>
<?PHP // Initialize the XML parser $parser = xml_parser_create(); // Function to use at the start of an element function start($parser, $element_name, $element_attrs) { switch ($element_name) { case NOTE: echo -- Note --<br />; break; case TO: echo To: ; break; case FROM: echo From: ; break; case heading: echo heading: ; break; case BODY: echo Message: ; } } // Function to use at the end of an element function stop($parser, $element_name) { echo <br />; } // Function to use when finding character data function char($parser, $data) { echo $data; } // Specify element handler xml_set_element_handler($parser, start, stop); // Specify data handler xml_set_character_data_handler($parser, char); // Open XML file // $fp = fopen(test.xml, r); // Read data // while ($data = fread($fp, 10)) { // xml_parse($parser, $data, feof($fp)) or die(sprintf(XML Error: %s at line %d, xml_error_string( xml_get_error_code($parser)), xml_get_current_line_number($parser))); // } // fclose($fp); $data = file_get_contents(test.xml); xml_parse($parser, $data) or die(sprintf(XML Error: %s at line %d, xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); // Free the XML parser xml_parser_free($parser); ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。