JavaWeb:XML总结
JavaWeb:XML總結
?
目錄
JavaWeb:XML總結
一:什么是XML?
二:xml語法:
?? ??? ??? ?? ?三: xml約束:
四:XML解析思想:
一:什么是XML?
XML:eXtensible Markup Language 可擴展標記語言 version="1.0"
?? ?* 可擴展:所有的標簽都是自定義的。 ?
?? ?* 功能:數據存儲
?? ??? ?* 配置文件
?? ??? ?* 數據傳輸
?? ??? ?
?? ?* html與xml區別:
?? ??? ?* html語法松散,xml語法嚴格
?? ??? ?* html做頁面展示,xml做數據存儲
?? ??? ?* html所有標簽都是預定義的,xml所有標簽都是自定義的
?? ?
?? ?W3C:word wide web consortiem ?萬維網聯盟
二:xml語法:
?? ??? ?* 文檔聲明:
?? ??? ??? ?* 必須寫在xml文檔的第一行。
?? ??? ??? ?* 寫法:<?xml version="1.0" ?>
?? ??? ??? ?* 屬性:?? ?
?? ??? ??? ??? ?* version:版本號 固定值 1.0
?? ??? ??? ??? ?* encoding:指定文檔的碼表。默認值為 iso-8859-1
?? ??? ??? ??? ?* standalone:指定文檔是否獨立 ?yes 或 no
?? ??? ?* 元素:xml文檔中的標簽
?? ??? ??? ?** 文檔中必須有且只能有一個根元素
?? ??? ??? ?* 元素需要正確閉合。<body></body> <br/>
?? ??? ??? ?* 元素需要正確嵌套
?? ??? ??? ?* 元素名稱要遵守:
?? ??? ??? ??? ?* 元素名稱區分大小寫
?? ??? ??? ??? ?* 數字不能開頭
?? ??? ?
?? ??? ?* 文本:
?? ??? ??? ?* 轉義字符:>
?? ??? ??? ?* CDATA: 里邊的數據會原樣顯示
?? ??? ??? ??? ?* ?<![CDATA[ 數據內容 ]]>
?? ??? ??? ??? ?
?? ??? ?* 屬性:
?? ??? ??? ?* 屬性值必須用引號引起來。單雙引號都行
?? ??? ?* 注釋:
?? ??? ??? ?<!-- -->
?? ??? ?* 處理指令:現在基本不用
?? ??? ??? ?<?xml-stylesheet type="text/css" href="1.css"?>
?? ??? ??? ?
? ?三: xml約束:
?? ??? ?* 約束就是xml的書寫規則
?? ??? ?* 約束的分類:
?? ??? ??? ?dtd:
?? ??? ??? ??? ?dtd分類:
?? ??? ??? ??? ??? ?* 內部dtd:在xml內部定義dtd
?? ??? ??? ??? ??? ?* 外部dtd:在外部文件中定義dtd
?? ??? ??? ??? ??? ??? ?* 本地dtd文件:<!DOCTYPE students SYSTEM ?"student.dtd">
?? ??? ??? ??? ??? ??? ?* 網絡dtd文件:<!DOCTYPE students PUBLIC "名稱空間" ?"student.dtd">
?? ??? ??? ?schema:
?? ??? ??? ??? ?導入xsd約束文檔:
?? ??? ??? ??? ??? ??? ?1、編寫根標簽
?? ??? ??? ??? ??? ??? ?2、引入實例名稱空間 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?? ??? ??? ??? ??? ??? ?3、引入名稱空間 xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"?? ?
?? ??? ??? ??? ??? ??? ?4、引入默認的名稱空間
?
四:XML解析思想:
XML解析:
?? ?* 解析xml可以做:
?? ??? ?* 如果xml作為配置文件:讀取
?? ??? ?* 如果xml作為傳輸文件:寫,讀
?? ?* xml解析思想:
?? ??? ?* DOM:將文檔加載進內存,形成一顆dom樹(document對象),將文檔的各個組成部分封裝為一些對象。
?? ??? ??? ?* 優點:因為,在內存中會形成dom樹,可以對dom樹進行增刪改查。
?? ??? ??? ?* 缺點:dom樹非常占內存,解析速度慢。
?? ??? ?
?? ??? ??? ?Document
?? ??? ??? ?Element
?? ??? ??? ?Text
?? ??? ??? ?Attribute
?? ??? ??? ?Comment
?? ??? ?* SAX:逐行讀取,基于事件驅動
?? ??? ??? ?* 優點:不占內存,速度快
?? ??? ??? ?* 缺點:只能讀取,不能回寫
?? ??? ?
?? ?* xml常用的解析器:
?? ??? ?* JAXP:sun公司提供的解析。支持dom和sax。
?? ??? ?* JDOM:
?? ??? ?* DOM4J:dom for java民間方式,但是是事實方式。非常好。 ?支持dom
?? ??? ??? ?1.導入jar包 dom4j.jar
?? ??? ??? ?2.創建解析器
?? ??? ??? ??? ?SAXReader reader = new SAXReader();
?? ??? ??? ?3.解析xml 獲得document對象?
?? ??? ??? ??? ?Document document = reader.read(url);?
?? ?* XPATH:專門用于查詢
?? ??? ??? ??? ?* 定義了一種規則。
?? ??? ??? ??? ?* 使用的方法:
?? ??? ??? ??? ??? ?* selectSingleNode():
?? ??? ??? ??? ??? ?* selectNodes():
?? ??? ??? ?使用步驟:
?? ??? ??? ??? ?1、注意:要導包 jaxen...jar
?? ??? ??? ??? ?2、創建解析器
?? ??? ??? ??? ??? ?SAXReader reader = new SAXReader();
?? ??? ??? ??? ?3、解析xml 獲得document對象?
?? ??? ??? ??? ??? ?Document document = reader.read(url);
?? ?
?? ?
?? ?* 解析XML:
?? ??? ?// 1、得到某個具體的節點內容:第2本書的書名--》葵花寶典
?? ??? ?// 2、遍歷所有元素節點
?? ?XPath:
?? ??? ?//?? ?nodename 選取此節點。
?? ??? ?//?? ?/?? ? 從根節點選取。
?? ??? ?//?? ?//?? ? 從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置。
?? ??? ?//?? ?..?? ? 選取當前節點的父節點。
?? ??? ?//?? ?@?? ? 選取屬性。
?? ??? ?// ? ? ?[@屬性名] ? ?屬性過濾
?? ??? ?// ? ? ?[標簽名] ? ? 子元素過濾
?? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ??? ?
總結
以上是生活随笔為你收集整理的JavaWeb:XML总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端基础之BOM和DOM
- 下一篇: 基于句式元学习的Twitter分类