html 和xml

Eclipse:沒有插件.(本身裝)(免費)
MyEclipse:包含大量插件.(收費)

//-----------------------------------
HTML概念
	HTML==> hyper text mark-up language==>超文本標記語言
	超文本: 1.表達能力優於普通文本.聲音 .圖形等..
			2.超連接
	標記語言:標記構成的.(HTML XML XHTML)
	
	HTML是幹什麼的? 
		1.網頁.
		2.展現.
	HTML是由誰來解析?
		瀏覽器來負責解析HTML.
	HTML文檔的後綴名?
		.html
		.htm
		以上兩種後綴名沒有區別.
	文檔構成:
		HTML文檔.
		最外層使用<HTML>標籤包裹
				<HEAD> 頭 ==> 標題.網頁屬性信息,CSS..
				<BODY> 體 ==> 正文.
	標籤寫法:
		1.<>中包裹一個英文單詞
		2.全部標籤不區分大小寫(推薦使用小寫)
		3.標籤分爲兩類
			1>圍堵標記=> 有開始標籤 有結束標籤
			2>自閉合標籤 => 例如 <br/>
		注意:全部標記語言,標籤中的英文單詞沒有以數字開頭的.<>
	
	
		注意:HTML中不支持 : 空格 回車 製表符.都會被解析成一個空白字符.
		
1.什麼是解析xml?
	系統最終會從xml中讀取數據.讀取的過程就是解析.
	CRUD => 增刪改查 => create read update delete => 解析指的就是讀.
2.什麼是解析器?
	就是用來解析xml的類.
	過濾器,攔截器,監聽器....都是具有相應功能的java類而已.
3.兩個常見的解析xml的思路!.
思想:	
	DOM:將文檔中全部內容都封裝成對象.讀取時,將全部對象都加載到內存中.在內存中建立一顆dom樹(記錄對象間的關係).
		優勢: 方便的進行增刪改查.
		缺點: 會很是消耗內存.
	sax:事件驅動的.與pull解析相似.把xml文檔的 讀取過程,劃分出5類事件.咱們只要提供遇到每類事件作什麼的錦囊便可.
		優勢:內存佔用小.
		缺點: 不能進行增刪改的操做.
	
	DOM解析是由w3c推薦提出的.
	Sax解析是由民間提出的.
	

	DOM:
		把全部內容封裝成了5類對象.
			document
			Element
			Attribute
			Text
			Commons
			共同的父類
			node
			NOde的屬性:
				自身屬性:
					nodeType
					nodeName
					nodeValue
				導航屬性
					找子節點的:firstChild lastChild childNodes
					找父節點的:parentNode
					找兄弟節點:nextSibling previousSibling
		得到Element的方式
			getElementById           ==> Document
			getELementsByTagName     ==> Document/Element
			getELementsByClassName   ==> Document/Element
			getElementsByName        ==> Document
		對於增刪改的操做:
			建立一個元素: document.createElement
			添加一個元素: element.appendChild ,element.insertBefore
			替換一個元素: element.replaceChild
			刪除一個元素: element.removeChild

3.JAXP ==> JDK提供的 ==> java api for xml parser
	思想在java中的體現是接口.
	咱們要開發的話須要接口的實現類.
	由各大解析器廠商提供實現接口的類.
	
	
	A a  = new AImpl(); // Aimpl2;
	A a  = new AImpl2();
//---上面的切換實現類的方式,須要該源代碼,太過原始-----
	A a = JAXP.getXXX();==> 配置文件 ==> 咱們經過修改配置文件就能夠實現切換實現類.
	
	//反射.泛型.
	
//------------------------------------------------------------------------------------------
DOM4J ==> 框架 ==>  
Dom for java
DOM4J
//-------------------------------------------------------------------------------------------
DOM4J 整合兩種思想.(SAX DOM)的思想.
使用sax的思想作讀取xml.
又參照dom的思想,也在內存中建立了一顆對象關係樹. 咱們在學習的時候,參照以前咱們學習的dom樹便可.


//是用dom4j如何避免亂碼?

	//要保證寫入的編碼和讀取的編碼一致.
		1.寫入的編碼如何控制?
			XMLWriter writer = new XMLWriter(new PrintWriter("src/students_copy.xml","UTF-8"),format);
		2.讀取的編碼如何控制?
			<?xml version="1.0" encoding="GBK"?>,其中encoding屬性決定了讀取時採用什麼編碼,而encoding屬性由format.setEncoding("GBK");控制.
	//其實要保證不亂碼上面的方法太弱了!
		方法: 使用字節流絕對不會出現亂碼!以下:
		XMLWriter writer = new XMLWriter(new FileOutputStream("src/students_copy.xml"),format);


	
			
相關文章
相關標籤/搜索