day08-XML( 二 )

  • 可以输入任意字符(除]]>外)
  • 不能嵌套
  • 例子
    <?xml version="1.0" encoding="UTF-8" ?><students><student><code><!--如果希望把某些字符串当做普通文本使用,就用CDATA括起来--><![CDATA[<script data-compress=strip>function h(obj){alert("一段js代码");}</script>]]></code></student></students>3.转义字符对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理
    day08-XML

    文章插图
    例子
    <?xml version="1.0" encoding="UTF-8" ?><students><student><name>jack</name><age>10</age><gender>男</gender><!--转义字符表示一些特殊的字符--><resume>年龄&lt;&gt;&amp;</resume></student></students>
    • 小结:
      遵循如下规则的xml文档称为格式正规的xml文档:
    1. xml声明语句<?xml version="1.0" encoding="UTF-8" ?>
    2. 必须有且仅有一个根元素
    3. 标记区分大小写
    4. 属性值用引号
    5. 标记成对
    6. 空标记关闭
    7. 元素正确嵌套
    4.DOM4j4.1xml解析技术原理和介绍
    • xml技术原理
      DOM (Document Object Model,文档对象模型)定义了访问和操作文档的标准方法 。
    1. 不管是html文件还是xml文件,都是标记型文档,都可以使用w3c组织制定的dom技术来解析
    2. document对象表示的是整个文档(可以是html文档,也可以是xml文档)
    3. DOM 把 XML 文档作为树结构来查看 。能够通过 DOM 树来访问所有元素 。可以修改或删除它们的内容,并创建新的元素 。元素,它们的文本 , 以及它们的属性,都被认为是节点
    • xml解析技术介绍
      【day08-XML】早期 JDK 为我们提供了两种xml的解析技术:DOM和Sax
    1. dom解析技术是W3C组织制定的,而所有的编程语言都对这个解析技术使用了自己语言的特点进行实现 。Java对dom技术解析也做了实现
    2. sun公司在JDK5版本对dom解析技术进行升级:SAX(Simple API for XML)解析,它是以类似事件机制通过回调告诉用户当前正在解析的内容 。是一行一行地读取xml文件进行解析的,不会创建大量的dom对象 。所以它在解析xml的时候,在性能上由于Dom解析
    这两种技术已经过时,简单了解即可
    • 第三方的XML解析技术
    1. jdom在dom基础上进行了封装
    2. dom4j 又对 jdom进行了封装
    3. pull主要用在Android手机开发 , 跟sax非常类似,都是事件机制解析xml文件
    4.2dom4j介绍
    1. dom4j是一个简单、灵活的开放源代码的库(用于解析/处理xml文件) 。dom4j是由早期开发JDOM的人分离出来后独立开发的 。
    2. 与JDOM不同的是,dom4j使用接口和抽象基类,虽然dom4j的API相对要复杂一些,但他提供了比JDOM更好的灵活性
    3. Dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极易使用的特点 。现在很多软件采用的dom4j
    4. 使用dom4j开发 , 需要下载dom4j对象的jar文件
      dom4j的jar包下载地址(内有使用案例):dom4j
    官方api文档:Overview (dom4j 1.6.1 API)
    4.3dom4j获得document对象的方式
    开发dom4j要导入dom4j的jar包
    DOM4j中 , 获得document对象的方式有三种:
    1. 读取XML文件 , 获得document对象
      SAXReader reader = new SAXReader();//创建一个解析器Document document = reader.read(new File("src/input.xml"));//XML Document
    2. 解析XML形式的文本 , 得到document对象
      String text = "<members></members>";//直接对一个字符串的xml文本进行解析Document document = DocumentHelper.parseText(text);
    3. 主动创建document对象
      Document document = DocumentHelper.createDocument();//创建根节点Element root = document.addElement("members");
    下面只演示方式一的使用:读取XML文件,获得document对象
    dom4j应用实例-读取XML文件,获得document对象
    1. 使用dom4j对students.xml文件进行增删改查
      • 重点讲解查询(遍历和指定查询)
      • xml增删改使用少,作为拓展,给出案例
    2. 引入dom4j的依赖的jar包
      day08-XML

      推荐阅读