第二十二天筆記xml

1.標籤

  1. 分類:雙標籤:容器標籤 單標籤:空標籤
  2. 寫法注意事項:(1)嚴格區分大小寫(2)標籤名的規則和Java標識符類似(不能數字開頭沒有$)(3)屬性(key=”value”),必須用引號來括起來(4)xml文件中只有一個根節點
  3. xml文件中的節點類型:標籤節點,屬性節點,文本節點
  4. 需求 文本內容爲:特殊字符< & lt;>& gt;” &quot

1.2

  1. Dom解析:將整個xml加載到內存中,生成Dom樹,從根節點開始一次查找自己需要的內容
  2. 步驟:

    (1.)生成解析器SAXReader reader= new SAXReader();

    (2)加載xml內容,生成Document兌現

    (3)獲取根節點:Element e=document.getRootElement();

    獲取標籤的常用方法:

    ele.element(標籤名)ele標籤下的第一個指定的子標籤

    ele.elements(標籤名)ele標籤下的所有指定的名字的子標籤集合 List

    ele.element()ele標籤的所有子標籤集合List

    獲取標籤屬性的方法

    ele.attribute( 屬性名 ) ele標籤內的名字爲屬性名的屬性對象Attribute

    att.getName() 屬性名 att.getValue() 屬性值

    ele.attributes() ele標籤內的所有屬性集合 List

    ele.attributeValue( 屬性名 ) S ele標籤內的名字爲屬性名的對應值 string

    獲取文本的常用方法

    ele.getText() 該標籤之間的文本內容 String

    ele.elementText( 子標籤 ) 該標籤下的子標籤中的文本內容

1.2SAX解析

  1. 原理:一點一點類似掃描的形式,對xml的數據一點一點的進行解析對內存要求不高
  2. 步驟:

    (1)創建解析工廠SAXParserFactory fac= SAXParserFactory.newInstance();

    (2)創建解析對象SAXParser parser = fac.newSAXParser();

    (3)解析器對象解析xml解析方法需要自己定義
    parser.parse(new File(“src/day22/demo1/worker.xml”),
    new MyDefaultHanlder());
    其中MyDefaultHanlder要繼承DefaultHanlder

    (4)重寫其中的部分方法

A. startDocument() 文檔開始

B. startElement (String uri, String localName, String qName, Attributes attributes) 標籤開始,參數qName 標籤名 attributes 屬性容器

C. characters(char[] ch, int start, int length)
文本節點開始
參數ch 整個xml數據
start本次起始位置 length本次長度

D. endElement(String uri, String localName, String qName) 標籤結束

E. endDocument() 文檔結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章