流和XML的相關

2015/9/1


1. 流操作

流操作完畢後,必須關閉流,如果流不關閉,那麼不會釋放流操作時佔用的資源,而且寫入流有可能寫不進數據。

2.對象序列化

當需要傳輸對象時,由於對象中封裝了很多屬性和方法,數據量龐大,所以在傳輸對象前,需要將對象打散成字節序列,以利於傳輸。這個過程叫對象序列化。到達目的地後,又需要將二進制序列還原成對象,這個過程叫反序列化。

如果需要將一個對象進行傳輸,那該對象必須實現java.io.Serializable接口

3. XML

XML:可擴展的標記語言,以標記和子標記來描述對象及屬性的。

4. XML的根元素

每個XML文檔必須有且只有一個根元素

根元素是一個完全包括文檔中其他所有元素的元素。

所有的元素都必須在根元素中定義

5.XML實體

  • &1t: <
  • &gt:>
  • &amp:&
  • &quot:”
  • &apos:’

屬性值用雙引號(“”)或單引號(‘)分隔(如果屬性值中有’,用”分隔;有“,用‘分隔)

一個元素可以有多個屬性,它的基本格式爲:

<元素名 屬性名=”屬性值“>

特定的屬性名稱在同一個元素標記中只能出現一次

屬性值不能包括<,>,&

6.CDATA

用於把整段文本解釋爲純字符數據而不是標記的情況。包含大量<>、&或者”字符,CDATA節中所有字符都會被當作元素字符數據的常量部分,而不是XML標記

CDATA是不被解析器解析的文本,文本的標籤不會被當作標記,實體不會被展開。

語法:

7.格式良好的 XML

XML文檔必須是格式良好的(well-formed)。滿足XML基本的語法規則,如果XML文檔不是格式良好的,就不能被應用程序和瀏覽器正確識別和解析。

遵循下列規則的XML文檔稱爲結構完整:

語法規範:

  • 必須有XML聲明語句
  • 必須有且僅有一個根元素
  • 標記大小寫敏感
  • 屬性值用引號
  • 標記成對
  • 空標記關閉

     <a/><a></a>
    
  • 元素正確嵌套

8.有效的XML

格式良好的XML和有效的XML

格式良好的XML必須滿足XML基本語法規範

有效的XML文件,除了必須滿足XML基本語法規範之外,還必須符合DTD和Schema定義元素規則。

9.XML解析

文檔對象模型(DOM),一種基於樹結構的API

  • 基於樹狀結構的API
  • 整個XML文檔必須在內存中解析和儲存
  • 客戶端應用程序就可以隨機訪問這些對象
  • 大型文檔則會造成內存緊張

XML簡單API(SAX),一種事件驅動的API

  • SAX提供一種用於解析XML文檔的事件驅動模型
  • 使用回調機制將事件通知應用程序
  • 特點

    1. 不必將整個文件加載到內存中,佔用的內存少
    2. 不能對文檔進行隨機訪問
    3. SAX是隻讀的
    4. 文檔只能遍歷一次
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章