當(dāng)軟件程序讀取 XML 文檔并采取相應(yīng)的處理時,被稱作 XML 處理。任何可以讀取和處理 XML 文檔的程序都被視為 XML 解析器。XML 解析器會讀取 XML 文件并把它轉(zhuǎn)換成內(nèi)存結(jié)構(gòu),以便程序的其余部分可以訪問它。
大多數(shù) XML 處理程序的基本原理就是讀取 XML 文檔并轉(zhuǎn)換為內(nèi)部表示便于其他程序或者子程序使用。也被稱作解析器,它是每個 XML 處理程序的重要組成部分。
處理程序包括處理指令,我們會在處理指令章節(jié)進(jìn)行研究。
XML 解析器被分為有驗證和無驗證兩種類型,取決于它們是否檢查 XML 文檔的有效性。一個處理程序發(fā)現(xiàn)有效性錯誤時必須能夠發(fā)送報告,但也可以繼續(xù)進(jìn)行正常的處理。
一些帶驗證的解析器: xml4c(IBM,基于 C++),xml4j(IBM,基于 Java),MSXML(Microsoft,基于 Java),TclXML(TCL),xmlproc(Python),XML::Parser(Perl),Java Project X(Sub,基于 Java)。
一些無驗證功能的解析器: OpenXML(Java),Lark(Java),xp(Java),AElfred(Java),expat(C),XParse(JavaScript),xmllib(Python)。