方立勋_30天掌握JavaWeb_XML

什么是XML?
w3c推出xml技术本来是想要替代html,然而一直没有成功,结果是过渡诞生了xhtml技术。
这里写图片描述

XML常见应用

这里写图片描述**

XML语法

这里写图片描述

编码乱码问题
如下一段XML代码:

<?xml version="1.0" encoding="utf-8" ?>
<xml>
    <![CDATA[
    <b>
        <a>中国</a>
    </b>        
    ]]>
    <b>
        <a>美国</a>
        <a>小日本</a>
    </b>
</xml>

如果用记事本这段XML代码,保存的时候默认是ANSI编码方式保存,然而代码中encoding="utf-8"指定浏览器用utf-8编码去解析,所以这样会导致在浏览中出现乱码。为什么在eclipse等工具中可以正常,那是因为eclipse中新建xml文件保存的时候默认会和encoding的指定的编码方式一致。

Tip:处理指令

  • 处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

  • 例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。 <?xml-stylesheet type=”text/css” href=”1.css”?>

  • 处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。

XML约束

这里写图片描述

DTD,全称为文档类型定义

文件清单:book.dtd

<!ELEMENT 书架 (书+)>
    <!ELEMENT 书 (书名,作者,售价)>
    <!ELEMENT 书名 (#PCDATA)>
    <!ELEMENT 作者 (#PCDATA)>
    <!ELEMENT 售价 (#PCDATA)>

文件清单:book.xml

<?xml version="1.0" ?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
    <书>
        <书名>Java就业培训教程</书名>
        <作者>张孝祥</作者>
        <售价>39.00元</售价>
    </书>
    <书>
        <书名>JavaScript网页开发</书名>
        <作者>张孝祥</作者>
        <售价>28.00元</售价>
    </书>
</书架>

DTD语法细节:元素定义1

  • 在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:
    <!ELEMENT 元素名称 元素类型>
  • 元素类型可以是元素内容、或类型
    • 如为元素内容:则需要使用()括起来,如
      <!ELEMENT 书架 (书名,作者,售价)>
      <!ELEMENT 书名 (#PCDATA)>
    • 如为元素类型,则直接书写,DTD规范定义了如下几种类型:
      EMPTY:用于定义空元素,例如<br/> <hr/>
      ANY:表示元素内容为任意类型。

DTD语法细节:元素定义2

  • 元素内容中可以使用如下方式,描述内容的组成关系
    • 用逗号分隔,表示内容的出现顺序必须与声明时一致。<!ELEMENT MYFILE (TITLE,AUTHOR,EMAIL)>
    • 用|分隔,表示任选其一,即多个只能出现一个
      <!ELEMENT MYFILE (TITLE|AUTHOR|EMAIL)>
    • 元素内容使用空白符分隔,表示出现顺序没有要求:<!ELEMENT MYFILE (TITLE AUTHOR EMAIL)> *
  • 在元素内容中也可以使用+、*、?等符号表示元素出现的次数:
    +: 一次或多次 (书+)
    ?: 0次或一次 (书?)
    : 0次或多次 (书)
  • 也可使用圆括号( )批量设置,例
    <!ELEMENT MYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>

XML编程(CRUD)

CRUD:create、read、update、delete

XML解析方式分为两种:dom和sax
dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式。
(1. dom解析的优点是对文档crud比较方便,缺点是占用内存比较大)
sax: (Simple API for XML) 不是官方标准,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它。
(2. sax解析的优点是占用内存少,解析速度快,缺点是只适合做文档的读取,不适合做文档的crud)

XML解析器
Crimson、Xerces 、Aelfred2

XML解析开发包
Jaxp、Jdom、dom4j

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值