• XML解析——Jaxp解析器


    Jaxp解析器

    1.Jaxp解析器在jdk的javax.xml.parsers包内
        *四个类: 分别针对DOM和SAX解析的类
        1.DOM:
            *DocumentBuilder 解析器类
            *DocumentBuilderFactory解析器工厂类
        2.SAX:
            *SAXParser 解析器类
            *SAXParserFactory 解析器工厂类
    

    DOM解析XML

    1.DocumentBuilder
        *这是一个抽象类,不能new
        *这个类的实例可以从DocumentBuilderFactory.newDocumentBuilder()方法获取
        *解析xml使用parse("xml文件路径")方法, 返回Document整个文档, document是一个接口,父节点是Node,如果在document接口中找不到的方法,可以在Node接口中找.
        
        *document的方法
            1.getElementsByTagName(String tagname) 返回一个标签集合 NodeList
            2.createElement(String tagName) 创建一个标签
            3.createTextNode(String data) 创建文本
            4.appendChild(Node newChild) 把节点添加到标签下
            5.removeChild(Node oldChild) 删除节点
            6.getParentNode() 获取父节点
        *NodeList的方法
            1.getLength() 得到集合的长度
            2.item(int index) 下表取到具体的值
            3.getTextContent() 得到标签里的内容
    2.DocumentBuilderFactory
        *抽象类
        *通过newInstance()获取DocumentBuilderFactory的实例.
    

    SAX解析XML

    1.SAX解析XML
        *SAXParser
            *此类的实例可以从 SAXParserFactory.newSAXParse()方法获取
            *解析xml使用parse​(File f, DefaultHandler dh) arg1: xml路径 arg2: 事件处理器   
        *SAXParserFactory
            *newInstance()方法得到
        *DefaultHandler
            void startElement​(String uri, String localName, String qName, Attributes attributes) 接收元素开始的通知。 qName 返回标签名称.
            void characters​(char[] ch, int start, int length) 接收元素内的字符数据通知。
            oid endElement​(String uri, String localName, String qName) 接收元素结尾的通知。
            ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200424104204462-445270891.png)
            当解析到开始标签的时候, 自动执行startElement方法
            当解析到文本的时候, 自动执行characters方法
            当解析到结束标签时候, 自动执行endElement方法
  • 相关阅读:
    面试题目1:spring和springmvc的区别与联系
    Vue---第二十三章v-on事件处理
    Vue---第二十二章v-for循环
    Vue-接口返回的值在页面上显示
    Vue---第二十一章v-if
    Vue---第二十章class和style,v-bind
    Vue---第十九章计算属性和监听器
    Vue---第十八章元素绑定v-bind,v-on
    Vue---第十七章v-once
    Vue---第十六章devtools
  • 原文地址:https://www.cnblogs.com/linjing111/p/12765861.html
Copyright © 2020-2023  润新知