xml约束和实际场景使用
#1.XML
?
##1.1.概念
Extendsible Markup Language 可擴展標記語言。
##1.2.功能
存儲數據:1.配置文件;2.在網絡中傳輸
##1.3.xml與html的區別
1.xml標簽都是自定義的,html標簽是預定義。
2.xml的語法嚴格,html語法松散。
3.xml是存儲數據的,html是展示數據。
w3c:萬維網聯盟
#2.語法
##2.1.基本語法
1.xml文檔的后綴名 .xml
2.xml第一行必須定義為文檔聲明
3.xml文檔中有且僅有一個根標簽
4.屬性值必須使用引號(單雙引號都可以)引起來
5.標簽必須正確關閉
6.xml標簽名稱區分大小寫
##2.2.快速入門
<?xml version='1.0' ?> <users><user><name>張三</name><age>27</age><genle>男</genle></user><user><name>李四</name><age>27</age><genle>男</genle></user> </users>#3.組成部分
##3.1文檔聲明
1.格式:<?xml 屬性列表 ?>
2.屬性列表:
version:版本號,必須的屬性。
encoding:編碼方式。告知解析引擎當前文檔使用的字符集,默認值:ISO-8859-1
standalone:是否獨立
取值:yes:不依賴其他文件;no:依賴其他文件;
##3.2.指令(了解即可):結合css
<?xml-stylesheet type="text/css" href="a.css" ?>##3.3.標簽:標簽名稱自定義
規則:
名稱可以包含字母、數字以及其他的字符。
名稱不能以數字或者標點符號開始。
名稱不能以字母xml(或者XML、Xml等等)開始。
名稱不能包含空格。
##3.4.屬性
屬性值唯一
##3.5.文本
CDATA區:在該區域中的數據會被原樣展示
格式:
<![CDATA[數據]]>#4.約束
規定xml文檔的書寫規則
作為框架的使用者(程序員):
1.能夠在xml中引入約束文檔
2.能夠簡單的讀懂約束文檔
##4.1.約束分類(DTD和Schema)
1.DTD:一種簡單的約束技術。
2.Schema:一種復雜的約束技術。
##4.2.DTD
引入dtd文檔到xml文檔中有兩種方式:
內部dtd:將約束規則定義在xml文檔中。
外部dtd:將約束的規則定義在外部的dtd文件中。外部dtd的引用又分為本地和網絡兩種方式。
本地:<!DOCTYPE 根標簽名 SYSTEM "dtd文件的位置">
網絡:<!DOCTYPE 根標簽名 PUBLIC "dtd文件名字" “dtd文件位置URL”>
例子:student.dtd
student.xml
##4.3.Schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"? 這是xml的一個約束,必須要引入
接著我們去定義一個xml文件
接著我們去看一下別人寫好的約束文件
#5.解析:操作xml文檔,將文檔中的數據讀取到內存中。
##5.1.操作xml文檔
1.解析(讀取):將文檔中的數據讀取到內存中。
2.寫入:將內存中的數據保存到xml文檔中。持久化的存儲。
##5.2.解析xml的方式
1.DOM:將標記語言文檔一次性加載進內存,在內存中形成一顆DOM樹。
優點:操作方便,可以對文檔進行CURD的所有操作。
缺點:占內存。
2.SAX:逐行讀取,基于事件驅動的。
優點:不占內存。
缺點:只能讀取,不能增刪改。
##5.3.xml常見的解析器
1.JAXP:sun公司提供的解析器,支持dom和sax兩種思想。
2.DOM4J:一款非常優秀的解析器。
3.Jsoup:jsoup是一款java的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方式來取出和操作數據。
4.PULL:Android操作系統內置的解析器,sax方式的。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的xml约束和实际场景使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring集成redis(ehcach
- 下一篇: Tomcat部署的三种方式