SAX方式获取XML内容

2024-04-04 15:18
文章标签 xml 内容 方式 获取 sax

本文主要是介绍SAX方式获取XML内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<?php
    header("Content-Type:text/html;charset=utf-8");
    //创建XML解析器
    $parser = xml_parser_create('utf-8');
    //规定如何让处理我们遇到的标签和数据
    /*
        参数1,当前解析器
        参数2,开始标签处理函数
        参数3,结束标签处理函数

    */
    xml_set_element_handler($parser,'start_element','end_element');
    /*
        参数1,解析器
        参数2,开始标签名
        参数3,属性名

    */

    function start_element($parser,$name,$attr){
            echo '开始标签'.$name.'<br/>';
    }
    /*
        参数1,解析器
        参数2,结束标签名

    */

    function end_element($parser,$name){
            echo '结束标签'.$name.'<br/>';
    }

    /*
        处理数据
        参数1,解析器资源
        参数2,数据处理器名称

    */

    xml_set_character_data_handler($parser,'data_process');
    /*
        数据处理器
        参数1,当前解析器
        参数2,数据内容

    */
    function data_process($parser,$data){
            echo $data.'<br/>';
    }
    /*
        开始解析之前,需要读入xml文件的内容,解析器处理的是文件的内容不是文件,所以需要先通过文件处理函数获得文件的内容

    */
    $xml_data = file_get_contents('bookshelf.xml');
    /*
        开始解析:
        参数1,解析器
        参数2,解析的数据
        参数3,告诉解析器是否为最后一个数据()否则解析器会继续等待
    */
    xml_parse($parser,$xml_data,true);

    //处理错误
    if($res){
        echo '处理成功';
    }else{
        //失败,处理错误
        var_dump(xml_get_error_code($parser));
        var_dump(xml_get_current_line_number($parser));
        var_dump(xml_get_current_column_number($parser));
        var_dump(xml_error_string(xml_get_error_code($parser)));

    }

这篇关于SAX方式获取XML内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876131

相关文章

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多