亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

XML入門教程:分析XM

2024-09-05 20:55:33
字體:
來源:轉載
供稿:網友

分析XML文檔可通過程序來做,分析器有兩大類,一種是事件驅動的,一種是基于樹模型的。
分析XML文檔可通過程序來做,分析器有兩大類,一種是事件驅動的,一種是基于樹模型的。

    使用事件驅動的分析器時,每遇到一個元素就會觸發一個事件,由事件處理器進行處理。事件分析器按順序讀取XML文檔,而不把整個文檔讀入內存,所以處理速度很快。但缺點是由于要從頭到尾讀取XML文檔,因此無法在XML文檔中移動位置。事件驅動分析器適合處理其它地方使用的XML數據,如轉換成HTML文檔或從文件中讀取數據并插入數據庫中。它的優點有:

      文件搜索,從XML文檔中搜索需要的標志或數據;
      格式轉換,如轉換成HTML。任何需將原始XML轉換成另一種格式的工作都最好使用事件驅動分析器來完成,因為它可動態將信息轉換成新格式。
      少量修改,你可用事件驅動分析器讀取和重新生成XML。在分析過程中,可以改變少量的單語、字符數據內容或重新構造XML。事件驅動分析器特別適合整理和重新格式化XML文檔。
      簡單驗證,由于整個文檔不在內存中,所以無法進行完整驗證,但可檢查拼寫錯誤和一般良構XML文檔之類的簡單問題;
      建立內部結構,可以使用事件驅動分析器建立XML文檔的復雜內部表示,如基于樹的接口使用的樹式結構。 事件驅動分析器不能在XML文檔間交叉引用文檔內容,但它使用簡單,速度快。
      基于樹的分析器把整個XML文檔讀入內存,并生成樹狀結構。分析器可隨機訪問樹中的任意節點,并能修改樹結構和內容。

      1.分析器工具
      現有的分析器種類有上百種,但常用的是兩個標準的工具庫,一個是XML簡單API(SAX,Simple API for XML)和文檔對象模型(DOC,Document Object Model)。SAX是事件驅動分析器的標準,而DOM是基于樹的分析器標準。另外,Expat雖然不是標準,但它是腳本語言中處理XML時最常用的分析器。Expat由James Clark編寫,是事件驅動分析器。
      本文由武林網(http://www.49028c.com)整理發布!轉載請注明出處,謝謝!

      2.Unicode
      計算機并不能正真理解文本內容,它無法識別諸如a,b,c這類的字母,更不用說中文了。計算機所能理解的只有數字,如60,80等。字符集(character set)規定了字母到數字的映射關系,如65代表大寫字母A。65稱為碼點(code point),字符編碼(character encoding)決定碼點如何用字節表示。是用多了節還是單字節,高字節位表示什么,低字節位表示什么。
      不同國家使用不同的語言,不同程序使用不同的編碼規范,在進行世界范圍內的數據交換就要統一表示數據的字符編碼規范。傳統的ASCII字符集只定義了127個字符,其中前31個是控制符。127位之后的字符隨平臺不同而不同。大多數平臺只能表示前127位,單字節(8位),使得字符集中最多只能提供256個字符。這些標準字符稱為羅馬或拉丁字符集,用ASCII來表示中文、日文是遠遠不夠的。
      為了解決字符集問題,出現了Unicode字符集。它可用多字節格式編碼字符,目前標準允許2字節字符,支持65536個不同字符。標準的Unicode字符集為Latin-1(或ISO-8859-1)。有關Unicode的介紹可訪問Unicode的官方網站:http://www.unicode.org
      Unicode字符集為字符分配碼點,即編號。這些編號可以用多種模式編碼,如UCS-2、UCS-4、UTF-8、UTF-16。

        UCS-2,也叫ISO-10646-UCS-2。每個字符用一個0~65535之間的兩個字節的無符號整數表示。如A的Unicode碼點為65,用兩個字節00和41(十六進制)表示。B的Unicode碼點為66,用兩個字節00和42表示。UCS-2有兩種形式:高字節(#x0041)在前和低字節(#x4100)在前。為區發高低位不同表示形式,采用UCS-2編碼文檔通常以Unicode字符#xFEFF(零寬度無間斷空格)開頭,一般稱為字節順序標記(byte order mark)。這個字符是不可見的。如果兩個字節交換位置,得到的字符#xFFFE實際是不存在的。因此中通過查看UCS-2文檔的前兩個字符是#xFEFF還是#xFFFE,就可確定該文檔是否是高字節在前。UCS-2的缺點:如果文本字符主要是拉丁文,由于采用兩個字節,字符集編碼是單字節字符編碼的兩倍;UCS-2不能與ASCII向前或向后兼容,用于單字節字符集的工具常常不適用于處理UCS-2編碼文件。
        UTF-8是一種可這長度的Unicode編碼。0~127為ASCII碼字符集,與ASCII編碼完全兼容,每個字符采用一個字節編碼。UTF-8用兩個字節表示128~2047,該范圍覆蓋了最常見的非表意字母。其余的字符,主要來自漢語、日語和韓語,每個都用3個字節表示。如果Unicode的碼點超過65535個字符,那么這些字符就會用4個字節編碼。對于以拉丁文為主的文件,使用UTF-8比UCS-2可減少一半的文件大小。對于漢語、日語和韓語的文件,其大小會增加百分之五十。對于其它語言,文件大小相差不大。UTF-8是最常用的Unicode編碼方式。
        在Unicode流行以前,出現了一系列處理特定語言的單字節字符集,ISO將14種這樣的字符集標準化成ISO 8859標準,分別是ISO-8859-1~14。ISO-8859-15是ISO-8859-1的修訂版本。這些字符集統稱ISO字符集。
        Cp1252是依賴于Windows平臺的一種編碼,是Windows的缺省字符集。該種編碼不支持跨平臺特性,盡量不要使用。
        MacRoman是Mac OS使用的一種非標準、單字節編碼。在非Mac平臺下使用也會有問題,盡量不要使用。
        本文由武林網(http://www.49028c.com)整理發布!轉載請注明出處,謝謝!
        在XML文檔中,如果需輸入編輯器不支持的字符,我們可用字符引用的方式,以十進制或十六進制給出它所代表的Unicode字符編號,如њ(十進制)或者&#x45A(十六進制)。字符引用可用于元素內容、屬性和注釋,不能用于元素名和屬性名、處理指令或XML關鍵字。如果有一些字符需經常使用,則我們可為這些字符定義實體,這樣,在文檔中就可方便地引用該實體了。專門定義字符實體的DTD我們可獨立出來,形成以.ent為后綴的外部DTD。在需要時使用外部參數實體引用將這些定義引入文檔的DTD中。
        XHTML 1.0 DTD包含有三個有用的字符引用實體可在文檔中使用。

          Latin-1字符,http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
          ISO-8859-1中自160以上的非ASCII碼字符。
          特殊字符,http://www.w3.org/TR/xhtml/DTD/xhtml-special.ent
          ISO-8859-2中不在Latin-1中的字母。
          標點符號,http://www.w3.org/TR/xhtml-symbol.ent
          希臘字母表(不包含帶重音的字符)和各種標點符號、數學運算符及其他數學中常用的符號。
          在XML文檔中可以使用xml:lang屬性規定元素內容采用的語言。這樣就可在一篇文檔中同時使用多種語言,這是XML跨平臺和跨語言的重要特性之一。如:xml:lang="CN-CHN"。語言代碼是一個兩個字母的語言代碼,語言代碼后還可跟一個子代碼,語言代碼可在這里找到http://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt。下面是xml:lang屬性聲明的示例:
          <!ELEMENT test (#PCDATA)><!ATTLIST test xml:lang NMTOKEN #IMPLIED>
          由于所有語言代碼都是有效的XML名稱標記,所以使用NMTOKEN類型。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲深夜福利视频| 欧美精品18videos性欧美| 亚洲欧洲国产精品| 亚洲激情国产精品| 欧美日韩aaaa| 国内精品国产三级国产在线专| 午夜精品一区二区三区在线| 亚洲国产精品人久久电影| 日韩久久免费电影| 91精品91久久久久久| 国产视频精品xxxx| 日本免费久久高清视频| 久久久精品久久| 91美女片黄在线观看游戏| 亚洲成人久久网| 最好看的2019年中文视频| 久久99久久99精品中文字幕| 久久九九热免费视频| 亚洲人成电影网站色xx| 国产精品igao视频| 日韩欧美在线免费观看| 欧美高清videos高潮hd| 国产精品xxxxx| 亚洲成人久久久| 91理论片午午论夜理片久久| 国产精品丝袜一区二区三区| 国产亚洲精品综合一区91| 国产在线观看精品一区二区三区| 国外成人在线视频| 日韩高清电影免费观看完整版| 国产精品成人一区二区三区吃奶| 欧美精品情趣视频| 国产精品久久久久久久久免费看| 成人乱人伦精品视频在线观看| 国产成人一区二区三区电影| 欧美wwwwww| 91在线免费看网站| 午夜精品久久久久久久男人的天堂| 在线观看欧美www| 久久久久久久激情视频| 欧美一区二粉嫩精品国产一线天| 国产91网红主播在线观看| 欧美最猛性xxxx| 亚洲爱爱爱爱爱| 久久精品青青大伊人av| 日韩欧美成人免费视频| 国产成人在线亚洲欧美| 亚洲伊人久久大香线蕉av| 久久久999国产| 欲色天天网综合久久| 北条麻妃99精品青青久久| 久久精品久久久久久| 91精品视频免费看| 国产精品免费一区二区三区都可以| 91在线精品视频| 国产成人精品久久二区二区| 青青草国产精品一区二区| 国产精品久久av| 亚洲精品国产精品国自产观看浪潮| 91免费综合在线| 亚洲精品久久视频| 最近2019中文字幕大全第二页| 操人视频在线观看欧美| 在线视频欧美日韩精品| 中文字幕v亚洲ⅴv天堂| 怡红院精品视频| 欧美日韩国产综合新一区| 久久久久久九九九| 日韩美女毛茸茸| 日韩一区在线视频| 国产日韩精品电影| 不卡av在线网站| 亚洲国产精品国自产拍av秋霞| 久久香蕉国产线看观看av| 国产精品av在线| 欧美日韩一区二区免费在线观看| 亚洲精品99久久久久| 亚洲韩国青草视频| 国产精品精品久久久久久| 日韩69视频在线观看| 日韩欧美在线视频免费观看| 欧美性生交xxxxx久久久| 91国产中文字幕| 欧美成人第一页| 日韩av观看网址| 日韩精品中文字幕久久臀| 亚洲国产97在线精品一区| 国产精品香蕉在线观看| 欧美裸体xxxx极品少妇| 国产精品99久久久久久www| 大桥未久av一区二区三区| 日韩二区三区在线| 亚洲香蕉成视频在线观看| 精品国内亚洲在观看18黄| 伊人亚洲福利一区二区三区| 亚洲成人av片在线观看| 国产精品精品视频一区二区三区| 中文字幕久久精品| 欧美性极品xxxx做受| 成人黄在线观看| 国产一区二区日韩| 亚洲一区二区三区香蕉| 亚洲成年人在线播放| 日本精品一区二区三区在线播放视频| 欧美性生交xxxxx久久久| 日韩av网站电影| 日本精品视频在线观看| 国语自产在线不卡| 亚洲第一精品久久忘忧草社区| 国产丝袜高跟一区| 国产一区私人高清影院| 国产情人节一区| 国产精品久久久久国产a级| 欧美一级电影久久| 中文字幕精品av| 欧美另类精品xxxx孕妇| 久久99亚洲精品| 深夜福利一区二区| 欧美日韩激情视频| 成人黄色影片在线| 欧美福利视频网站| 日韩精品在线视频| 亚洲一区二区中文| 国产精品高潮视频| 亚洲欧美综合区自拍另类| 亚洲免费视频在线观看| 亚洲欧洲第一视频| 日韩成人中文字幕| 成人在线小视频| 国内精品视频在线| 8050国产精品久久久久久| 日韩一区av在线| 国产日韩精品电影| 精品女同一区二区三区在线播放| 欧洲s码亚洲m码精品一区| 日韩欧美一区二区三区久久| 欧美日韩一区二区三区在线免费观看| 欧美精品手机在线| 国产一区二区三区在线视频| 亚洲欧美成人精品| 亚洲www在线观看| 亚洲片在线观看| 在线视频亚洲欧美| 亚洲成年人影院在线| 亚洲精品电影在线观看| 亚洲大胆美女视频| 欧美午夜视频在线观看| 久久久国产一区| 国产福利精品av综合导导航| 欧美一区第一页| 久久男人av资源网站| 亚洲精品一区中文字幕乱码| 久久久久一本一区二区青青蜜月| 亚洲精品永久免费| 日日骚av一区| 国产精品久久久久久久久免费看| 在线丨暗呦小u女国产精品| 久久久久久亚洲精品| 亚洲大胆美女视频| 亚洲欧美制服第一页| 欧美性猛交xxxx乱大交| 欧美日韩在线视频首页| 中文字幕亚洲一区| 欧美高清不卡在线|