欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  一、 标记语言
 
  1、超文本标记语言 HTML
 
  (1)写法格式: <a href="link.html">link</a>
 
  (2)关注数据的展示与用户体验
 
  (3)标记是预定义、不可扩展的(如 <a></a>表示超链接)
 
  2、可扩展的标记语言 XML
 
  (1)写法格式:同 html 样式
 
  (2)仅关注数据本身
 
  (3)标记可扩展,可自定义
 
  二、XML 作用
 
  描述数据、存储数据、传输(交换)数据
 
  XML 现在已经成为一种通用的
 
  数据交换格式
 
  1、存储、交换数据
 
  XML 只用元素和属性来描述数据,而不提供数据的显示方法,这使得 XML 具有能够运
 
  行于不同系统平台之间和转换成不同格式目标文件。 用 XML 在应用程序和公司之间
 
  作数据交换,几个应用程序可以共享和解析同一个 XML 文件,不必使用传统的字符串
 
  解析或拆解过程。
 
  2、配置
 
  许多应用都将配置数据存储在各种文件里,如 SSH、Android。使用 XML 配置文件的
 
  应用程序能够方便地处理所需数据,不用像其它应用那样要经过重新编译才能修改和维
 
  护应用系统。xml 比 数据库占用的资源少,操作方便,用来存储简单的信息
 
  三、XML 示例
 
  用 XML 存储已注册用户的数据方式
 
  1、方式 1
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <people>
 
  <person>
 
  <name>白晶晶</name>
 
  <age>28</age>
 
  </person>
 
  <person>
 
  <name>至尊宝</name>
 
  <age>300</age>
 
  </person>
 
  </people>
 
  2、方式 2
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <people>
 
  <person name="白晶晶" age="28"></person>
 
  <person name="至尊宝" age="300"></person>
 
  </people>
 
  文档的后缀名是 xml,每个文档有且仅有一个根元素,所谓根元素就是包含了其他所有元
 
  素的元素
 
  XML 目前只有一个版本,即 1.0.XML
 
  四、格式良好的 xml
 
  1、语法规范:
 
  1)、必须有 XML 文档声明:
 
  <?xml version="1.0"?>
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <?xml version="1.0" standalone="yes"?>
 
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 
  注意文本文件保存时候默认的编码格式是ANSI,需用记事本把它手动改为UTF-8保存。
 
  2)、必须有且仅有一个根元素
 
  3)、严格区分大小写
 
  4)、属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属
 
  性只能出现一次
 
  5)、标记成对;
 
  6)、空标记关闭;
 
  7)、元素正确嵌套。
 
  2、元素命名规则
 
  1)、名称中可以包含字母、数字或者其他可见字符;
 
  2)、名称不能以数字开头;
 
  3)、不能以 XML/xml/Xml…开头;
 
  4)、名称中不能含空格;
 
  5)、名称中不能含冒号(注:冒号留给命名空间使用)
 
  3、实体
 
  实体叫 ENTITY,实体的作用是避免重复输入。作用相当于宏或者变量。
 
  1)内置的 5 种实体
 
  实体 符号
 
  < <
 
  > >
 
  & &
 
  " "
 
  &apos; '
 
  2)自定义实体
 
  <!DOCTYPE 根元素[
 
  <!--实体声明(注释)-->
 
  <!ENTITY 实体名 "实体内容">
 
  ]>
 
  使用已定义的实体:&实体名;
 
  <!--引用实体的方法-->
 
  <teacher>
 
  <name>&xm;</name>
 
  <gender>&gen;</gender>
 
  </teacher>
 
  4、文档类型声明
 
  文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明之后,包含所有实体声明
 
  五、组成
 
  1、构成
 
  元素
 
  属性
 
  实体
 
  PCDATA
 
  PCDATA 的意思是被解析的字符数据(parsed character data)。可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本
 
  CDATA
 
  <![CDATA[ …… ]]>
 
  用于把整段文本解释为纯字符数据而不是标记的情况
 
  CDATA 节(character data)
 
  六、XML 解析(重点
 
  DOM
 
  文档树结构的解析
 
  核心操作接口
 
  Document
 
  此接口代表了整个 XML 文档,表示的是整棵 DOM 树的根
 
  Node
 
  每一个 Node 接口代表了 DOM 树种的一个节点
 
  NodeList
 
  此接口表示的是一个节点的集合
 
  NamedNodeMap
 
  此接口表示的是一组节点和其唯一名字对应的一一对应关系
 
  DOM 解析过程
 
  ① 建 立 DocumentBuilderFactory : DocumentBuilderFactory factory=
 
  DocumentBuilderFactory.newInstance();
 
  ②建立 DocumentBuilder: DocumentBuilder builder=factory.newDocumentBuilder();
 
  ③建立 Document : Document doc=builder.parse(“要解析的文件路径”);
 
  ④建立 NodeList : NodeList nl=doc.getElementsByTagName(“读取节点”);
 
  ⑤进行 XML 信息读取
 
  DOM 操作除了可以进行解析外,也可以进行文档的生成
 
  如果想要生成 XML 文件,则在创建文档的时候,就应该使用 newDocument()方法
 
  SAX
 
  基于事件流的解析
 
  SAX 解析
 
  SAX(Simple API for XML)解析是按照 xml 文件的顺序一步一步的来解析
 
  // 1、创建解析器工厂
 
  SAXParserFactory factory=SAXParserFactory.newInstance();
 
  // 2、获得解析器
 
  SAXParser parser=factory.newSAXParser();
 
  // SAX解析器 ,继承
 
  DefaultHandlerString path=new File("resource/demo01.xml")。getAbsolutePath();
 
  // 解析
 
  parser.parse(path, new MySaxHandler());
 
  DOM4j 解析
 
  dom4j 是一个简单的开源库,用于处理 XML、 XPath 和 XSLT,它基于 Java 平台,使
 
  用 Java 的集合框架,全面集成了 DOM,SAX 和 JAXP
 
  解析
 
  File file=new File("resource/outputdom4j.xml");
 
  SAXReader reader=new SAXReader();
 
  // 读取文件作为文档
 
  Document doc=reader.read(file);
 
  // 获取文档的根元素
 
  Element root=doc.getRootElement();
 
  // 根据跟元素找到全部的子节点
 
  Iterator<Element> iter=root.elementIterator();
 
  while(iter.hasNext()){Element name=iter.next();
 
  System.out.println("value=" + name.getText());}
 
  创建
 
  // 使用DocumentHelper来创建 Document对象
 
  Document document=DocumentHelper.createDocument();
 
  // 创建元素并设置关系
 
  Element person=document.addElement("person");
 
  Element name=person.addElement("name");
 
  Element age=person.addElement("age");
 
  // 设置文本
 
  name.setText("shsxt");age.setText("10");
 
  // 创建格式化输出器
 
  OutputFormat of=OutputFormat.createPrettyPrint();
 
  of.setEncoding("utf-8");
 
  // 输出到文件
 
  File file=new File("resource/outputdom4j.xml");
 
  XMLWriter writer=new XMLWriter(new FileOutputStream(newFile(file.getAbsolutePath())),of);
 
  // 写出
 
  writer.write(document);
 
  writer.flush();
 
  writer.close();

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h59959.shtml