答案:sax解析器和dom解析器的區別主要有以下幾個方面:
第一,sax解析器是一種基於事件的解析器,將xml檔案轉化成一種事件流的形式進行分析,可以解析任意大小的xml檔案。dom解析器在解析的時候在記憶體中建立乙個與xml檔案結構相對應的樹形結構,不適合處理大型檔案。
第二,sax解析器只能將xml檔案從頭到尾順序地分析一遍,不能隨意訪問xml檔案的某一部分。dom解析器則可以隨意訪問xml檔案的任何部分,沒有次數的限制。
第三,sax解析器只能讀取xml檔案,不能修改檔案。dom解析器可以任意修改記憶體中的樹形結構,從而可以隨意修改xml檔案。
答案:sax解析器最先向事件處理器報告檔案定位事件,然後才是文件開始事件。但檔案定位用的很少,一般將文件開始事件認為第乙個事件。
<?xml version=」1.0」 encoding=」gb2312」 ?>
j**a物件導向程式設計
孫衛琴答案:sax解析器報告事件的順序見下表:
<?xml version=」1.0」 encoding=」gb2312」 ?>
小李89
90小張
9287
小趙95
90圖9-13 習題4要求程式執行的結果
答案:import
import
import
public class xiti4 catch (exception e) }}
class myhandler extends defaulthandler
public void enddocument() throws saxexception
public void startelement(string uri, string localname, string qname, attributes attributes)
throws saxexception
if ("math"))
if ("english"))
}public void endelement(string uri, string localname, string qname) throws saxexception
}public void characters(char ch, int start, int length) throws saxexception
if (fmath)
if (feng) }}
<?xml version=」1.0」 encoding=」gb2312」 ?>
小李25
14741
小張23
25852
小趙24
36963
圖9-14 習題5要求程式執行的結果
答案:import
import
import
public class xiti5 catch (exception e) }}
class myhandler extends defaulthandler
public void endelement(string uri, string localname, string qname)
throws saxexception
public void characters(char ch, int start, int length) throws saxexception
}class myfilter extends xmlfilterimpl {
boolean flag = false;
public void startelement(string uri, string localname, string qname, attributes atts)
throws saxexception {
第5章習題答案
第5章靜態成員與友元 一 選擇題 1.下述靜態資料成員的特性中,d 是錯誤的。a.說明資料成員時前邊要加修飾符staticb.靜態資料成員要在類體外進行初始化 c.引用靜態資料成員時,要在靜態資料成員名前加 類名 和作用域運算子d.靜態資料成員不是所有物件所共有的。2.關於友元,下面說法中正確的是 ...
第6章習題答案
思考題6 1 1 正確。2 不正確。有可能無解,例如,有唯一解,但無解。3 正確。因為,所以一定有解.4 正確。因為,所以有非零解.習題6 1 1.1 或2 2.1 當且時,有唯一解 當或時,無解 當時,有無窮多個解。2 當且時,有唯一解 當時,無解 當時,有無窮多個解。3 當且時,有唯一解 當時,...
電機第1章習題答案
1 電力系統短路故障的分類 危害,以及短路計算的目的是什麼?答 分類 短路故障分對稱短路和不對稱短路,其中不對稱短路包括兩相短路 單相短路接地和兩相短路接地。危害 短路電流大 熱 電動效應 故障點附近電壓下降 功率不平衡失去穩定 不對稱故障產生不平衡磁通影響通訊線路。短路計算的目的 短路計算的結果可...