xml 学习1

一.xml基础:
二.xml语法
三.DTD
四.java api for xml
dom/sax/jdom/dom4j
五. XPath
一.xml基础
1.html: hyper text markup language
超文本标记语言
目的:展示内容和显示方式结合在一起。
标记:标记库是固定的,不可扩展
B/S    browser(html)  /   server   
C/S client    /   server
<h1>helloworld</h1>
语法宽松-------浏览器接受不规范的语法
2.xml   extend markup language       world  wide   web  万维网
可扩展的标记语言 world wide web consortium
<h1> 我的xml内容</h1> 官网地址:w3.org
<t1>我的内容</t1>
xml目的:关注的是数据
语法严格
主要用途:xml
交换数据/保存数据/配置文件(软件开发)
struts  : struts.xml
hibernate: hibernate.cfg.xml
spring : applicationContext.xml

二.xml语法
html / xml
书:xml的前世今生
价格: 55.00元
简介:一本关于xml发展历程的书
xml语法特点:
1)声明:     <?xml version="1.0"?>  <?xml version="1.0"?>默认的编码是utf-8
2)标记: <书名>,,有开始标记,有结束标记必须同时出现。(标签)     </书名>
3)元素: <书名>xml的前世今生</书名>
4)根元素: 最外层的元素
******************一个xml只有一个根元素********
4)实体引用
<:  less than         &lt;     &lt;  
>:   great than &gt;   &gt;
5)属性
<书名 hot="true">aaa</书名>
属性一定出现在开始标签里。
属性必须有值,属性值必须用引号引起来。
6)CDATA
忽略所有实体引用的纯文本。<![CDATA[xxxxx]]>原样显示
7)注释
java : // /*...*/
oracle:   -- /*...*/
xml: <!-- 这是一段注释 -->

8)节点(node)
开始标记,结束标记,以及所有中间的标记
9)大小写敏感
标记不可以嵌套
true: <a><b></b></a>

10)格式良好的xml文件
well-formed 遵循所有xml语法的xml文件

11)命名空间 .namespace
<前缀:标记名称>
<f:table>
<f:fruit>apple</f:fruit>
<f:price>5</f:price>
</f:table>
<w:table>
<w:size>1500*800</w:size>
<w:meterial>wod</w:meterial>
<w:price>500</w:price>
</w:table>

12)DTD
Document Type Defination
文档 类型 定义
html/xml:标记是否可以自定义
html标记:html/head/title/body/table/tr/td/font/h1/h2/h3/h4/h5/h6<img><a>
xml:书籍列表/计算机书籍

限制格式
书籍列表: 根元素
计算机书籍: 在书籍列表中可以有多个元素
计算机书籍: 书名,价格,简介,必须有序排列

符号
* :0或者是多个
, :表示有顺序
+ :表示1个或者多个
? :表示0或者1个
| :2者只能有1个
() :出现一次到多次
<!ELEMENT 标记名称 (子元素,子元素)>   1)标记名称后面有空格     2)#PCDATA:纯文本,可以放字符串,CDATA
3)叶子元素一般使用#PCDATA    4)xml文档必须遵循dtd的约束  5)兄弟元素之间是没有顺序的

<!DOCTYPE 书籍列表 [        ------->这是根结点
<!ELEMENT 书籍列表 (计算机书籍)*> ------->书籍列表中可以存在多个计算机书籍列
<!ELEMENT 计算机书籍 (书名,价格+,简介)> ------->计算机书籍中存在书名,价格,简介三个子元素,有顺序
<!ELEMENT 书名 (#PCDATA)> ---------->#PCDATA可以出现文本或者元素````
<!ELEMENT 价格 (#PCDATA)>
<!ELEMENT 简介 (#PCDATA)>
]>
这样+ <作者>照明</作者><作者>张无际</作者>
<!ELEMENT java书籍 ((书名,价)+,价格,作者)>

空元素
<br>
有内容的元素<td>s</td>
<td></td>===<td/>
<td hot="true"></td>=<td/>
属性也的声明
希望给作者元素增加一些特性,电话,职务,爱好,性别
<作者 电话="1234" 职务="模叫教主" 爱好="找民" 性别="男">
属性一定要在声明后才能使用
属性格式ATTLIST=Attribute List
<ATTLIST 元素名称 属性名 属性类型 默认值>
<ATTLIST 作者 电话 CDATA 职务CDATA "作家">
<!ATTLIST 作者
性别 CDATA #IMPLIED <!--#IMPLIED隐式的,有没有都可以-->
年龄 CDATA #IMPLIED
联系电话 CDATA #REQUIRED <!--#REQUIRED是必须有的-->
职务 CDATA #FIXED "作家" <!--#FIXED  固定的-->
个人爱好 CDATA "聊天">
dtd代码冗余
当多个xml文件需要共享同一个dtd时,
<!DOCTYPE struts PUBLIC "w3c" "www.w3c.org.asdsa.dtd">
struts:是根元素
属性的枚举类型      enum

你可能感兴趣的:(spring,oracle,xml,Hibernate,struts)