網絡——XML基礎知識

目錄:

  1. XML簡介
  2. XML語法
  3. XML解析

一、XML簡介

什麼是XML?

全稱是Extensible Markup Language,譯作“可擴展標記語言”
跟JSON一樣,也是常用的一種用於交互的數據格式
一般也叫XML文檔(XML Document)
XML舉例
<videos>
    <video name="小黃人 第01部" length="30" />
    <video name="小黃人 第02部" length="19" />
    <video name="小黃人 第03部" length="33" />
</videos>

二、XML語法

1.一個常見的XML文檔一般由以下部分組成

文檔聲明
元素(Element)
屬性(Attribute)

2.文檔聲明

在XML文檔的最前面,必須編寫一個文檔聲明,用來聲明XML文檔的類型。

最簡單的聲明
<?xml version="1.0" ?>

用encoding屬性說明文檔的字符編碼
<?xml version="1.0" encoding="UTF-8" ?>

3.元素

一個元素包括了開始標籤和結束標籤

擁有元素內容:<video>小黃人</video>
沒有元素內容:<video></video>
沒有元素內容的簡寫:<video/> 
一個元素可以嵌套若干個子元素(不能出現交叉嵌套)

    <videos>
        <video>
            <name>小黃人 第01部</name>
              <length>30</length>
        </video>
    </videos>
規範的XML文檔最多隻有1個根元素,其他元素都是根元素的子孫元素

4.元素的注意

XML中的所有空格和換行,都會當做具體內容處理
下面兩個元素的內容是不一樣的
第1個
<video>小黃人</video>

第2個
<video>
    小黃人
</video>

5.屬性

一個元素可以擁有多個屬性

<video name="小黃人 第01部" length="30" />
video元素擁有namelength兩個屬性
屬性值必須用 雙引號"" 或者 單引號'' 括住

實際上,屬性表示的信息也可以用子元素來表示,比如
<video>
    <name>小黃人 第01部</name>
        <length>30</length>
</video>

三、XML解析

  1. 要想從XML中提取有用的信息,必須得學會解析XML

    提取name元素裏面的內容
    小黃人 第01部

    提取video元素中name和length屬性的值

  2. XML的解析方式有2種

    DOM:一次性將整個XML文檔加載進內存,比較適合解析小文件
    SAX:從根元素開始,按順序一個元素一個元素往下解析,比較適合解析大文件

  3. 在iOS中,解析XML的手段有很多

    蘋果原生:
    NSXMLParser:SAX方式解析,使用簡單
    
    第三方框架:
    libxml2:純C語言,默認包含在iOS SDK中,同時支持DOM和SAX方式解析
    GDataXML:DOM方式解析,由Google開發,基於libxml2
    
    XML解析方式的選擇建議
    大文件:NSXMLParser、libxml2
    小文件:GDataXML
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章