DOM解析器 二

2021-07-03 11:46:33 字數 1297 閱讀 7602

文章**:

1. 節點(node)

解析器呼叫parse方法返回乙個實現了document介面的例項,該例項也稱做document物件,應用程式可以從document節點的子孫節點中獲取整個xml檔案中資料的細節,它是由實現了node介面的例項組成的樹狀結構資料,這些例項稱做document物件中的節點。實際上document介面也是node介面的子介面,也就是說,parse方法將整個被解析的xml檔案封裝成乙個節點返回(xml檔案和記憶體中的document節點相對應),因此,我們也可以稱document物件為document節點。

document物件中的節點形成樹狀結構,也就是說xml檔案的標記、標記的文字內容、實體等都會和物件document中的某個節點相對應。應用程式可以從document節點的子孫節點中獲取整個xml檔案中資料的細節。

按照dom規範,node介面有如下的子介面:

attr, cdatasection, characterdata, comment, document, documentfragment, documenttype, element, entity, entityreference, notation, processinginstruction, text

任何實現上述某個介面的類的例項都稱做乙個節點。

2.node的常用方法

short getnodetype()

返回乙個表示節點型別的常量(node介面規定的常量值),例如,對於element節點,getnodetype()方法返回的值為:node.element_node

nodelist  getchildnodes()

返回乙個由當前節點的所有子節點組成的nodelist物件。

node  getfirstchild()

返回當前節點的第乙個子節點。

node  getlastchild()

返回當前節點的最後乙個子節點。

nodelist  gettextcontent()

返回當前節點及所有子孫節點中的文字內容。

3.節點的子孫關係

為了解析規範的xml檔案,dom規範規定了各種型別節點之間可以形成的子孫關係,比如,document節點有且僅有乙個element節點,也可以有乙個documenttype節點(規範的xml檔案有且僅有乙個根標記,也可以有乙個與其關聯的dtd檔案),element節點可以有element子節點和text子節點(規範的xml檔案中的標記可以有子標記和文字)。

DOM解析器 四

element節點 element節點是document節點的最重要的子孫節點,因為被解析的xml檔案的標記對應著這樣型別的節點。表示element節點的常量是node.element node,乙個節點用 short getnodetype 方法返回的值如果等於node.element node,...

DOM解析器 五

text節點 規範的xml檔案的非空標記可以有子標記和文字內容。在dom規範中,解析器使用element節點封裝標記,用text節點封裝標記的文字內容,即element節點可以有element子節點和text節點。例如,對於下列標記 姓名 張小三 性別 男該標記對應的element節點共有7個子孫節...

使用解析器

使用解析器 使用解析器是非常簡單,可以使用它自己的詞法分析器,但是,用fsyacc.exe 產生的解析器總是要求詞法分析器。在這一小節,我們將討論如何使用自己的詞法分析器,以及與解析器聯合。警告記住f 編譯器不能直接使用.fsl 和 fsy 檔案,需要用fslex.exe 和 fsyacc.exe ...