首页 > 编程语言 >《Java 核心技术卷2》 2.1 XML概述 阅读和总结

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

时间:2022-10-24 16:31:07浏览次数:44  
标签:XML Java 标记 XX 文档 使用 2.1 解析

XML 是什么

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

XML 有什么用

  1. 可以用于传输数据。比如:
<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>
  1. 配置文件

程序捏的配置,比如配置数据库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>

约定

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

不如:

<car>
<colur>blue</color>
<height unit="m">2.2</height>
</car>
  1. 标记冲突情况,通常使用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修改。


标签:XML,Java,标记,XX,文档,使用,2.1,解析
From: https://blog.51cto.com/yuniangniang/5790262

相关文章