十八、XML、XML解析、设计模式等

XML、XML解析、设计模式等

XML

  • XML概述

    • XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据

    • XML的几个特点和使用场景

      • 一、纯文本,默认使用UTF-8编码;二:可嵌套

      • 如果把XML内容存为文件,那么他就是一个XML文件

      • XML的使用场景:XML内容经常被当成消息进行网络传输,或者作为配置文件用于存储系统的信息

  • XML的创建、语法规则

    • XML的创建

      • 就是创建一个XML类型的文件,要求文件的后缀必须使用xml,如hello_world.xml

    • IDEA创建XML文件的操作步骤

      • 右键src、点击new、再点击file、文件名加后缀 .xml

    • XML的语法规则

      • XML文件的后缀名为:xml

      • 文档声明必须是第一行

      • <?xml version="1.0" encoding="UTF-8"?>

      • version:XML默认的版本号码、该属性是必须存在的

      • encoding:本XML文件的编码

    • XML的标签(元素)规则

      • 标签由一对尖括号和合法标识符组成:<name></name>,必须存在一个根标签,有且只能有一个

      • 标签必须成对出现,有开始,有结束:<name></name>

      • 特殊的标签可以不成对,但是必须有结束标记,如:

      • 标签中可以定义属性,属性和标签名空格隔开,属性值必须用引号引起来<student id = "1"></name>

      • 标签需要正确的嵌套

    • XML的其他组成

      • XML文件中可以定义注释信息:<!-- 注释内容 -->

      • XML文件中可以存在以下特殊字符

        • &lt ; < 小于

        • &gt ; > 大于

        • &amp ; & 和号

        • &apos ; ' 单引号

        • &quot ; " 引号

      • XML文件中可以存在CDATA区:<![CDATA[ …内容…]]>

  • XML文档约束方式一:DTD约束【了解】

    • 什么是文档约束?

      • 文档约束:是用来限定xml文件中的标签以及属性应该怎么写。以此强制约束程序员必须按照文档约束的规定来编写xml文件

    • DTD约束存在的问题

      • 不能约束具体的数据类型

  • XML文档约束方式二:schema约束【了解】

    • schema可以约束具体的数据类型,约束能力上更强大

    • schema本身也是一个xml,本身也受到其他约束文件的要求,所以编写的更加严谨

XML解析技术

  • XML解析技术概述

    • 就是使用程序读取XML中的数据

    • 两种解析方式

      • SAX解析

      • DOM解析

        • DOM常见的解析工具

        • 名称说明
          JAXP SUN公司提供的一套XML的解析的API
          JDOM JDOM是一个开源项目,它基于树形结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作
          dom4j 是JDOM的升级品,用来读写XML文件的。具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,Hibernate也用它来读写配置文件
          jsoup 功能强大DOM方式的XML解析开发包,尤其对HTML解析更加方便
    • Decument对象:整个xml文档

    • Node对象

      • Element对象:标签

      • Attribute对象:属性

      • Text对象:文本内容

  • Dom4J解析XML文件

    • Dom4j解析XML-得到Document对象

      • SAXReader类

      • 构造器/方法说明
        public SAXReader() 创建Dom4J的解析器对象
        Document read(String url) 加载XML文件成为Document对象
      • Document类

      • 方法名说明
        Element getRootRlement() 获取根元素对象
  • Dom4J解析XML文件中的各个节点

    • Dom4j解析XML的元素、属性、文本

    • 方法名说明
      List<Element> elements() 得到当前元素下所有子元素
      List<Element> elements(String name) 得到当前元素下指定名字的子元素返回集合
      Element element(String name) 得到当前元素下指定名字的子元素,如果有很多名字相同的返回第一个
      String getName() 得到元素名字
      String attributeValue(String name) 通过属性名直接得到属性值
      String elementText(子元素名) 得到指定名称的子元素的文本
      String getText() 得到文本

       

  • Dom4J解析XML文件-实战案例

    • xml-app.src.com.itheima.d1_dom3j.Dom4JTest2

XML检索技术:Xpath

  • XPath介绍

    • XPath在解析XML文档方面提供了独树一帜得的路径思想,更加优雅,高效

    • XPath使用路径表达式来定位XML文档中的元素节点或属性节点

    • Document中与Xpath相关的API:

      • 方法名说明
        Node selectSingleNode("表达式") 获取符合表达式的唯一元素
        List<Node> selectNode("表达式") 获取符合表达式的元素集合
  • Xpath的四大检索方案

    • xml-app.src.com.itheima.d2_xpath.XPathDemo

    • 绝对路径

      • 采用绝对路径获取从根节点开始逐层的查找/contactList/contact/name节点列表打印信息

      • 方法名说明
        /根元素/子元素/孙元素 从根元素开始,一级一级向下查找,不能跨级

         

    • 相对路径

    • 全部检索

    • 属性查找

      • 在全文中搜索属性,或者带属性的元素

      • 方法名说明
        //@属性名 查找属性对象,无论是哪个元素,只要有这个属性即可
        //元素[@属性名] 查找元素对象,全文搜索指定元素名和属性名
        //元素[@属性名=值] 查找元素对象,全文搜索指定元素名和属性名,并且属性值相等

设计模式:工厂模式

  • 什么是工厂设计模式?

    • 之前我们创建类对象时,都是使用new对象的形式创建,在很多业务场景下也提供了不直接new的方式

    • 工厂模式(Factory Pattern)是Java中最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种获取对象的方式。

  • 工厂设计模式的作用:

    • 工厂的方法可以封装对象的创建细节,比如:为该对象进行加工和数据注入

    • 可以实现类与类之间的解耦操作(核心思想)

设计模式:装饰模式

  • 什么是装饰设计模式?

    • 创建一个新类,包装原始类,从而在新类中提升原来类的功能

  • 装饰设计模式的作用:

    • 作用:装饰模式指的是在不改变原类的基础上,动态地扩展一个类的功能

posted @   遨游JAVA的大叔  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示