avatar

xml基础

XML

优点:元标记语言,可拓展,基于文本,平台独立,实现数据内容和显示格式分离

缺点:寻找信息难,数据量较大得时候效率低,不便于管理,通信难

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

xml文档结构

文档序文

  • XML文档声明

    • 示例如下
    1
    <?xml version="1.0" encoding="UTF-8"?>     1.0版本号,UTF-8字符集编码
  • 处理指令

    1
    <? 目标程序名指令?>
  • DTD声明

  • XML注释

    1
    <!-- 注释 -->

文档元素

  • 元素定义

    1
    <元素标记名>元素内容</元素标记名>
  • 元素命名

    • 必须以字母,下划线或者汉字开头,可以包含字母数字下划线句点连字符
    • 不能有格
    • 区分大小写
  • 元素类型

    • 非空–元素的开始标记和结束标记之间有元素内容,内容可以是纯数据内容,也可以是包含多个子元素
    • 空–没有元素内容
  • 元素属性

    • 属性定义
    1
    2
    <标记名 属性名="" 属性2="" ...>aaa</标记名>     ##非空
    <标记名 属性名="" 属性2="" .../> ##空

特殊字符编码

CDATA区段

1
2
3
<![CDATA[
SELECT newsEdit,newsId, newstitle FROM shoppingGuide WHERE 1=1 AND newsday > #{startTime} AND newsday <= #{endTime}
]]>

DTD

DTD是Document Type Definition的简写,其含义是文档类型定义。

内部DTD

  • 定义

<!DOCTYPE 根元素名 [元素声明]>

  • 元素声明

<!ELEMENT 元素名 (子元素,)>

  • 数量词

+一次或者多次?出现0次或者一次*任意次

  • 属性声明

    <!ALTLIST 元素名称 属性名称 属性类型 默认值>

    类型 描述
    CDATA 值为字符数据 (character data)
    (en1|en2|..) 此值是枚举列表中的一个值
    ID 值为唯一的 id
    IDREF 值为另外一个元素的 id
    IDREFS 值为其他 id 的列表
    NMTOKEN 值为合法的 XML 名称
    NMTOKENS 值为合法的 XML 名称的列表
    ENTITY 值是一个实体
    ENTITIES 值是一个实体列表
    NOTATION 此值是符号的名称
    xml: 值是一个预定义的 XML 值

    默认值参数可使用下列值:

    解释
    属性的默认值
    #REQUIRED 属性值是必需的
    #IMPLIED 属性不是必需的
    #FIXED value 属性值是固定的

外部DTD

外部实体可支持http、file等协议。不同程序支持的协议不同:

新建一个.dtd文件,里边的内容类似

引入:

1
<!DOCTYPE 根元素 SYSTEM "*.dtd">

XML的解析

DOM解析

基于xml树,比较耗资源

SAX解析

基于事件解析,适用于数据量大的

JDOM解析

开放源代码,比DOM快,解析具体类

DOM4J

第三方提供,开源免费,JDOM升级版

文章作者: KaKing
文章链接: http://wlaqstcs.com/1119/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KaKing-网络安全渗透测试

评论