当前位置 : 主页 > 编程语言 > java >

《Java 核心技术卷2》 2.1 XML概述 阅读和总结

来源:互联网 收集:自由互联 发布时间:2022-10-26
XML 是什么 类似于,HTML,是一种标记语言。XML 的本意是(Extensible Markup Language)可扩展标记语言。标记语言不是一种程序语言,是用于描述数据的工具。XML的特点是,在描述事物属性的

XML 是什么

类似于,HTML,是一种标记语言。XML 的本意是(Extensible Markup Language)可扩展标记语言。标记语言不是一种程序语言,是用于描述数据的工具。XML的特点是,在描述事物属性的基础上,增加了层次信息。

XML 有什么用

  • 可以用于传输数据。比如:
  • <items>
    <item property="enable">
    <name>tofu</name>
    <color>white</color>
    <weight>500g</weight>
    <quantity>excellent</quantity>
    <label>
    <type>food</type>
    <type2>vegetable</type2>
    <type3>chill</type3>
    <label>
    </item>
    <item property="disable">
    <name>fish</name>
    <color>300g</color>
    <quantity>boiled</quantity>
    </item>
    </items>
  • 配置文件
  • 程序捏的配置,比如配置数据库SQL

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.a.b.XXMapper" >
    <resultMap id="BaseResultMap" type="com.a.b.XXVO" >
    <id column="XX" property="xx" jdbcType="VARCHAR" />
    <result column="XX" property="xx" jdbcType="VARCHAR" />

    </resultMap>
    <sql id="Base_Column_List" >
    A,B,C,D
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select
    <include refid="Base_Column_List" />
    from XX
    where XX = XX
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
    delete from XX
    where XX= XX
    </delete>

    </mapper>

    约定

  • 第一行使用文档头
  • <?xml version="1.0" encoding="UTF-8" ?>
  • 需要使用XML作为配置文件而非数据传输时,通常要配置文档类型
  • <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  • 最外层标签是根元素,根元素只有一个
  • <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper>
    </mapper>
  • 要么包含子元素,要么包含文本,不要两个都包含,通常不会使用下述方式
  • <car>
    blue
    <height>2.2m</height>
    </car>
  • 尽量不使用属性(尤其是有单位的情况)
  • <car colur="blue" height="2.2m"></car>

    不如:

    <car>
    <colur>blue</color>
    <height unit="m">2.2</height>
    </car>
  • 标记冲突情况,通常使用CDATA解决,标记语言经常要用到:<>/-" 等符号,如果文本内容中有同样的符号,将会导致解析失败。那么就需要使用  <![CDATA[ 内容]]> 来抵消掉区域内的解析,比如
  • <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select
    <include refid="Base_Column_List" />
    from XX
    <![CDATA[ where XX > XX]]>
    </select>

    解析器

    DOM

    Document Object Model,文档对象模型,可修改XML, 使用简单。但是不使用于大XML文件读取,内存会急速增加。

    SAX

    Simple API for XML XML的简单API,可对大型XML进行筛选性的读取一部分,需要自己写解析器,使用较复杂。使用SAX解析不能进行XML修改。


    上一篇:51cto1024程序员节活动总结
    下一篇:没有了
    网友评论