XML:可扩展的标记语言 extensible Markup Language version=1.0 可扩展:所有标签都是自定义的 功能: A.数据存储 B.数据传输 C.配置文件**** HTML与XML对比 1.HTML语法比较松散,XML语法标记严格 2.HTML用作页面展示,XML用于数据存储 3.HTML所有标签都是预定义,XML所有标签都是自定义的 w3c:万维网联盟 XML语法 文档声明 必须写在XML文档第一行 写法<?xml version=1.0 ?> 属性: version:版本号 固定 1.0 encoding:指文档码表 默认编码 ISO-8859-1 standablone:指文档是否独立 yes or no
元素 XML文档中的标签 文档中必须有且只有一个根标签 元素要正确闭合 元素需要正确嵌套 元素要遵循: 元素区分大小写 不能以数字开头
文本 转义符 < CDATA:里面数据原样显示 <![CDATA[数据内容]]>
属性 属性值必须用引号引起 注释 <!--注释内容--> 处理命令 <?xml stylesheet type="text/css" href="base.css"?> XML的约束 XML的书写规范 1.dtd约束 dtd约束的分类 内部的dtd:xml文件内部定义了dtd约束 外部的dtd:在外部文件定义dtd约束 本地:<!DOCTYPE students SYSTEM "student.dtd"> 网络:<!DOCTYPE students PUBLIC "命名空间" "student.dtd">
2.schema约束 导入xsd的约束文件 1.编写根标签 2.引入实例命名空间 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3.引入名称空间 xsi:schemaLocation="http://www.XXX.cn/xml" "student.xsd" 4.引入默认的命名空间
XML解析 解析XML文件 如果XML文件作为配置文件:读取 如果XML文件作为传输文件:写 读
XML解析思想 DOM:将文档加载进内存,形成一颗dom树(document对象),将文档的各个组成部分封装成对象 优点:因为内存中形成dom树,可以对dom进行增删改成 缺点:dom非常占空间,解析速度非常慢
Document:文档 Element:元素 Text:文本 Attribute:属性 Comment:注释<!--内容--> SAX解析思想 逐行读取,基于事件的解析方式 优点:不占内存,解析速度快 缺点:只能读取,不能回写
XML常用的解析器 JAXP:由sun公司提供的解析方式 支持DOM SAX JDOM DOM4j:dom for java 民间方式 支持DOM 1.导包 2.创建解析器 SAXReader reader=new SAXReader(); 3.解析XML文件 Document document=reader.read(url);
XPath:专门用于查询处理 定义了一种规则 selectSingleNode(); selectNodes(); 1.导包 2.创建解析器 SAXReader reader=new SAXReader(); 3.解析XML文件 Document document=reader.read(url);
XPath: nodename:选取此节点 /:从根节点选起 //:不考虑位置问题 ..:选取当前节点父节点 @:选取属性 【@属性名】 属性过滤 【标签名】 子元素过滤
