XML

XML基本介绍

XML即可扩展标记语言(Extensible Markup Language)

特点

  • 可扩展的, 标签都是自定义的
  • 语法十分严格

XML的功能

  • 存储数据,使数据的可移植性更强
  • 配置文件,作为各种技术框架的配置文件使用(最多)
  • 在网络中传输,客户端可以使用XML格式向服务器端发送数据,服务器接收到xml格式数据,进行解析

XML的语法

  • 文档声明(必写在第一行)
    <?xml version="1.0" encoding="UTF-8"?>
  • 元素的命名规则
  1. 不能使用空格,不能使用冒号
  2. xml 标签名称区分大小写
  3. XML 必须有且只有一个根元素
    语法格式
<?xml version="1.0" encoding="utf-8" ?>
<users>//根元素
<hello> 大家好 </hello>//普通元素
</users>
  • 属性
  1. 属性是元素的一部分,它必须出现在元素的开始标签中
  2. 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引
  3. 一个元素可以有0~N个属性,但一个元素中不能出现同名属性
  4. 属性名不能使用空格、冒号等特殊字符,且必须以字母开头
    <bean id="" class=""> </bean>

用XML描述一张数据表

<?xml version="1.0" encoding="UTF-8" ?>
<bookstore>
    <book id="book1">
        <name>西游记</name>
        <author>吴承恩</author>
        <price>89</price>
    </book>
    <book id="book2">
        <name>红楼梦</name>
        <author>曹雪芹</author>
        <price>109</price>
    </book>
    <book id="book3">
    <name>Java编程思想</name>
    <author>埃克尔</author>
    <price>69</price>
    </book>

</bookstore>

XML约束

编写一个文档来约束一个XML文档的书写规范

  • 常见的XML约束:DTD,Schema


DTD约束

DTD(Document Type Definition),文档类型定义,用来约束XML文档。规定XML文档中元素的名
称,子元素的名称及顺序,元素的属性等。

Schema约束

  1. Schema是新的XML文档约束, 比DTD强大很多,是DTD 替代者;
  2. Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml。
  3. Schema 功能更强大,内置多种简单和复杂的数据类型
  4. Schema 支持命名空间 (一个XML中可以引入多个约束文档)

XML解析

为不同问题提供不同的解析方式,并提交对应的解析器,方便开发人员操作XML。
两种解析方式:

  • DOM:解析器把整个XML文档装载到内存,解析成一个Document对象。
    • 优点:元素与元素之间保留结构关系,故可以进行增删改查操作。
    • 缺点:XML文档过大,可能出现内存溢出显现。
  • SAX:速度更快更有效,逐行扫描并解析,以事件驱动的方式进行,每执行一行,都将触发对应的事件。
    • 优点:占用内存少 处理速度快,可以处理大文件
    • 缺点:只能读,逐行后将释放资源。

XML解析器介绍

  • DOM4J
    使用核心类SaxReader加载xml文档获得Document,通过Document 对象获得文档的根元素
    常用API如下:
    SaxReader对象 ———— read(…) 加载执行xml文档
    Document对象 ———— getRootElement() 获得根元素
    Element对象 ———— elements(…) 获得指定名称的所有子元素。可以不指定名称
    element(…) 获得指定名称的第一个子元素。可以不指定名称
    getName() 获得当前元素的元素名
    attributeValue(…) 获得指定属性名的属性值
    elementText(…) 获得指定名称子元素的文本值
    getText() 获得当前元素的文本内容
     // 1.获取XML解析对象`
SAXReader reader = new SAXReader();
    // 2.解析XML 获取 文档对象 document
        Document document = reader.read("(文件位置)\user.xml");

XPath方式读取XML

XPath 是一门在 XML 文档中查找信息的语言。 可以是使用xpath查找xml中的内容。
DOM4J解析XML时只能一层一层解析,文件层数多时使用不便,结合XPath可以直接获取到某个元素
常用API方法:
selectSingleNode(query): 查找和 XPath 查询匹配的一个节点。—————— 参数是Xpath 查询串。
selectNodes(query): 得到的是xml根节点下的所有满足 xpath 的节点;————参数是Xpath 查询串。
Node: 节点对象

//3.调用 selectSingleNode() 方法,获取name节点对象
        Node node1 = document.selectSingleNode("/bookstore/book/name")

JDBC自定义XML

  1. 创建自定义xml 文件, 保存 数据库连接信息

    jdbc-config.xml

  2. 编写工具类 ,使用xpath 读取数据库信息

    1.定义字符串变量, 记录获取连接所需要的信息
    2.静态代码块 //使用 xpath读取 xml中的配置信息 //注册驱动
    3.获取连接的静态方法

  3. 测试

    1.获取连接
    2.获取 statement ,执行SQL
    3.处理结果集

posted @ 2021-02-10 11:55  bm小明  阅读(53)  评论(0编辑  收藏  举报