介面:
org.w
3c.dom.node
:public inte***ce node:該
node
介面是整個文件物件模型的主要資料型別。它表示該文件樹中的單個節點。當實現
node
介面的所有物件公開處理子節點的方法時,不是實現
node
介面的所有物件都有子節點。例如,
text
節點可能沒有子節點,且將子節點新增到這樣的節點將導致引發
domexception
。包括屬性
nodename
、nodevalue
和attributes
作為一種獲取節點資訊的機制,無需向下強制轉換為特定的派生介面。在沒有對特定的
nodetype
(如element
的nodevalue
或comment
的attributes
)的屬性的明顯對映的情況下,這將返回
null
。注意,特定的介面可能包含其他更方便的機制來獲取和設定相關資訊。
―――――――――――――――――――――――――――――――――――――――――――――
介面:org.w
3c.dom.document
:public inte***ce document extends node
:document
介面表示整個
html
或xml
文件。從概念上講,它是文件樹的根,並提供對文件資料的基本訪問。
因為元素、文字節點、注釋、處理指令等不能存在於
document
的上下文之外,所以
document
介面還包含所需的建立這些物件的工廠方法。所建立的
node
物件具有
ownerdocument
屬性,該屬性將
node
物件與建立這些物件時的上下文所屬的
document
關聯起來。
document
介面的常用方法:
element getdocumentelement()
:這是一種便捷屬性,該屬性允許直接訪問文件的文件元素的子節點。
―――――――――――――――――――――――――――――――――――――――――――――
介面:org.w
3c.dom.element
:public inte***ce element extends node
:element
介面表示
html
或xml
文件中的乙個元素。元素可能有與它們相關的屬性;由於
element
介面繼承自
node
,所以可以使用一般
node
介面屬性
attributes
來獲得元素所有屬性的集合。
element
介面上有通過名稱獲得
attr
物件或通過名稱獲得屬性值的方法。在
xml中(其中的屬性值可能包含實體引用),應該獲得
attr
物件來檢查表示屬性值的可能相當複雜的子樹。
另一方面,在
html
中(其中的所有屬性都有簡單的字串值),可以使用直接訪問屬性值的方法,這既安全又便捷。
element
介面的常用方法:
nodelist
getelementsbytagname(string name)
:以文件順序返回具有給定標記名稱的所有後代
elements
的nodelist
。―――――――――――――――――――――――――――――――――――――――――――――
介面:org.w
3c.dom.nodelist
:public inte***ce nodelist
:nodelist
介面提供對節點的有序集合的抽象,沒有定義或約束如何實現此集合。
dom中的
nodelist
物件是活動的。
nodelist
中的項可以通過從
0開始的整數索引進行訪問。
nodelist
介面的常用方法:
node
item(int index)
返回集合中的第
index
個項。如果
index
大於或等於此列表中的節點數,則返回
null。
引數:index -
集合中的索引。
返回:返回該
nodelist
中index
位置處的節點;如果索引是無效索引,則返回
null
。int getlength()
列表中的節點數。有效子節點索引的範圍是0 到
length-1
(包含此值)。
―――――――――――――――――――――――――――――――――――――――――――――
介面:org.w
3c.dom.characterdata
:public inte***ce characterdata extends node
:characterdata
介面使用屬性集合和用於訪問
dom中字元資料的方法擴充套件節點。為了清楚起見,在這裡定義此集合,而不是在使用這些屬性和方法的每個物件上定義。任何
dom物件都不會直接對應於
characterdata
,儘管text
和其他的物件是從它繼承該介面的。此介面中的所有
offset都從0
開始。如
domstring
介面中所述,
dom中的文字字串以
utf-16
(即16
位單元序列)表示。在下述情況下,每當需要指示以
16位單元在
characterdata
上進行索引時就使用術語
16位單元。
―――――――――――――――――――――――――――――――――――――――――――――
介面:org.w
3c.dom.text
:public inte***ce text extends characterdata:該
text
介面繼承自
characterdata
,並且表示
element
或attr
的文字內容(在
xml中稱為字元資料)。如果元素的內容中沒有標記,則文字包含在實現
text
介面的單個物件中,此介面是該元素的唯一孩子。如果有標記,則將它解析為資訊項(元素、注釋,等等)和組成該元素的子元素列表的
text
節點。首先通過
dom使文件可用時,文字的每個塊只有乙個
text
節點。使用者可以建立表示給定元素的內容的相鄰的
text
節點,沒有任何插入標記,但應該知道無法在
xml或
html
中表示這些節點之間的分隔,因此它們(通常)不會保持在
dom編輯會話之間。
node.normalize()
方法為每個文字塊將所有這樣的相鄰
text
物件合併為單個的節點。
不對text
節點的內容進行任何詞彙檢查,並且根據節點在文件中的位置,有些字元必須在使用字元引用進行序列化期間轉義;例如,在文字內容是元素或屬性的一部分的字元
"<&"
;文字內容是元素一部分的字串行
"]]>"
;當文字內容是屬性一部分的引號字元
" 或省略符號字元'。
―――――――――――――――――――――――――――――――――――――――――――――
其它常用方法:
public static element getfirstelement(element element, string name)
return (element) nl.item(0); }
public static string get******elementtext(element node, string name)
return ""; }
使用DOM解析xml
解析xml的技術有很多中,本函式使用的是dom技術,其中person類中有id,name,age三個屬性。xml檔案內容如下 shifu 21xiaobaozi 21xiaozeng 22 下面是對上面的xml檔案進行解析的詳細 當然,解析前要將xml檔案寫道輸入流當中。public listpar...
使用dom4j生成 解析XML文件
通過dom4j來生成 解析xml文件。簡單的說,只要我們熟練運用api即可完成。不論是jdom還是dom4j,我們都可以從三個方面入手 元素,屬性,文字。方式一 document document documenthelper.createdocument element root document...
dom4j輸入xml文件與解析xml文件
書寫xml文件 try 到這一步,目前將所有的student例項都新增到了doc中,但是還未生成檔案 4.建立輸出流 fileoutputstream fos new fileoutputstream student.xml xmlwriter writer new xmlwriter fos,ou...