xml学习笔记

1:xml的概述

   1.1 xml是什么
     标记语言:语言中现身了<a></a>的价签
      a:HTML 超文本标记语言 (语法极度严峻,无法轻易的概念标签)
      b:XML
可扩充的标志语言(用户可以依据自身的须要,随意的概念标签)
      <垃圾></垃圾>
     开发的团伙:w3c 开源精神 HTML XML Java Script
     版本:使用 1.0

  1.2 xml有怎么着用
    a:存储数据
    b:作为配置文件
  1.3 xml怎么用

2:xml的语法
  2.1 文档申明
    <?xml version=”1.0″ encoding=”UTF-8″?> encode:编码
decode:解码
    1) 文档申明必须为<?xml初步,以?>甘休;
    2) 文档注脚必须从文档的0行0列地点上马;
    3) 文档注明唯有2脾性格:
      a) versioin:指定XML文档版本。只会挑选1.0;
      b)
encoding:指定当前文档保存时编码情势。可选属性,暗中同意值是UTF-8;

  2.2 元素(element)
    1. 要素是XML文档中最重点的组成部分, 发轫标签 成分体 截止标签
    2.
无独有偶成分的布局初始标签、元素体、停止标签组成。例如:<hello> 大家好
</hello>
    3.
成分体:成分体可以是因素,也足以是文本,例如:<b><a>你好</a></b>
    4.
空成分:成分没有成分体,空成分只有开首标签,而没有截至标签,但元素必须协调关闭,例如:<c/>
    5. 因素命名:
      a) 区分轻重缓急写
      b) 无法利用空格,不大概采取冒号:
      c) 不提议以XML、xml、Xml开端
    6.
格式化非凡的XML文档,必须唯有贰个根成分。除了根成分,全数因素必须被别的因素包括

  2.3 属性(attribute)
    1. 品质是因素的一片段,它必须出现在要素的开首标签中
    2. 属性的定义格式:属性名=属性值,其中属性值必须采纳单引或双引
    3. 一个因素得以有0~N个本性,但壹个成分中不可以现身同名属性
    4. 属性名不可能采纳空格、冒号等特殊字符,且必须以字母起头

    属性和子成分的选拔
      a:假若您讲述的数据是对成分唯一的标识(id),则应当放在属性中
      b:假若你讲述的数量要求展开重复增添,必须放在子成分中
  2.4 注释
    XML的注释,以“<!–”起初,以“–>”甘休。注释内容会被XML解析器忽略!
    a)注释不可以放在文件的首先行
    b)注释的快速键
      注释 :ctrl + shift + /
      反注释 :ctrl + shift + \
  2.4 转义字符
     转义字符
      因为不少符号已经被XML文档结构所拔取,所以在成分体或属性值中想拔取那个标记就务须利用转义字符,例如:“<”、“>”、“’”、“””、“&”。
      < –> <
      > –> >
      ” –> "
      ’ –> '
      & –> &amp
  2.5 CDATA区
      <![CDATA[
      任意内容
      ]]>
    当你的标签内容有大气的转义字符时,则能够利用CDATA区,三次性全体转义

3:xml的约束
  xml约束:xml中的标签暗中认同是可以任由扩充,那样就导致了xml的随意性太大,为了给xml二个统一
的标准,就非得运用xml约束

  3.1 DTD约束
    DTD(Document Type Definition),文档类型定义
      约束:标签的名字,标签的属性,标签的顺序
      我们的职分就是依照现已提供好的DTD约束文档来定义xml文件

  3.2 DTD约束步骤
     步骤1:创立bean-dtd.xml文档,并将“bean.dtd”拷贝相同目录下
     步骤2:从DTD文档开首处,拷贝须求的“文档表明”
     步骤3:完成xml内容编排

  3.4 DTD的文档申明
    1: 内部DTD,在XML文档内部嵌入DTD,只对当前XML有效。
      <?xml version=”1.0″ encoding=”utf-8″ ?>
      <!DOCTYPE beans [
      … //具体的语法
      ]>
      <beans>
      </beans>

    2: 本地DTD,DTD文档在该地系统上,集团内部协调项目接纳。
      <?xml version=”1.0″ encoding=”utf-8″ ?>
      <!DOCTYPE beans SYSTEM”bean.dtd”>
      <beans>
      </beans>

    3: 外部DTD—公共DTD,DTD文档在互联网上,一般都有框架提供。
      需要有互连网,当第四回采取之后,则会在地点缓存。
      <?xml version=”1.0″ encoding=”UTF-8″?>
      <!– DTD的名字–>
      <!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN 2.0//EN”
      <!– DTD的互连网地点–>
      ”http://www.springframework.org/dtd/spring-beans-2.0.dtd"&gt;
      <beans>

  3.5 元素
    <!ELEMENT 成分名 成分描述>
    ?:可以出现,但不得不出现三次
    *:允许出现反复,也足以是0次
    +:该对象至少出现三遍,但足以是累累
    ,:成分按照指定的逐条出现

    //——————————————
    根成分:beans 而且有五个子成分:bean(0次或频仍)
和import(0次或频仍,而且必须比照指定的逐条出现
    #PCDATA:表示成分体是文件

    <!ELEMENT beans (bean*,import*) >
    <!ELEMENT bean (property*)>
    <!ELEMENT property (#PCDATA)>

    <!ELEMENT import (#PCDATA)>

    bean有多个特性:id className type
    <!ATTLIST bean id ID #REQUIRED
    className CDATA #REQUIRED
    type CDATA #IMPLIED
    >

    <!ATTLIST property name CDATA #REQUIRED
    value CDATA #REQUIRED
    >

    <!ATTLIST import resource CDATA #REQUIRED>

 

  3.2 Schema约束
    Schema是新的XML文档约束;
    Schema要比DTD强大很多,是DTD 替代者;
    Schema自身也是XML文档,但Schema文档的扩充名为xsd,而不是xml。
    Schema 效应更强劲,数据类型更周详
    Schema 协理名称空间
  3.3 约束文档和XML关系
    W3C提议Schema约束规范时,就提供“官方约束文档”。大家经过法定文档,必须“自定义schema
约束文档”,开发中“自定义文档”由框架编写者提供。大家提供“自定义文档”限定,编写出自个儿的xml文档。
  3.3 命名空间
    私下认同的命名空间
    xmlns=”http://www.itcast.cn/bean
    显式的命名空间
    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance
    使用标签时,必须加前缀

  4:xml解析
    就是取出xml存储的多少(属性和文书)
    <!– xml文件–>

    常用API如下:
    1. SaxReader对象
      a) read(…) 加载执行xml文档
    2. Document对象
      a) getRootElement() 拿到根成分
    3. Element对象
      a) elements(…) 得到指定名称的享有子成分。能够不点名名称
      b) element(…) 拿到指定名称第二,个子成分。可以不指定名称
      c) getName() 得到当前因素的成分名
      d) attributeValue(…) 拿到指定属性名的属性值
      e) elementText(…) 得到指定名称子成分的文本值
      f) getText() 拿到当前因素的文件内容

相关文章

网站地图xml地图