ホームページ >バックエンド開発 >XML/RSS チュートリアル >XML学習(2) XML文書に対するDOM操作を詳しく解説

XML学習(2) XML文書に対するDOM操作を詳しく解説

黄舟
黄舟オリジナル
2017-03-20 16:56:091588ブラウズ

DOM の観点から見ると、HTML は XML のようなツリー構造のドキュメントです。各ノードは、さまざまなタイプの Node オブジェクトとして扱われます。各 Node オブジェクトには独自のプロパティとメソッドがあり、これらを使用してドキュメント ツリー全体を走査できます。 DOM は、ノードのタイプを表す nodeType を定義します

Node.TEXT_NODE3テキストノード8注釈付きテキスト11ドキュメントスニペット

インターフェース

nodeType 定数

nodeType 値

備考

要素

Node.ELEMENT_NODE

1

要素ノード

テキスト

ドキュメント

ノード

コメント

Node.COMMENT_NODE

DocumentFragment

Node.DOCUMENT_FRAGMENT_NODE

属性

Node.ATTRIBUTE_NODE

2

ノード属性

DOM ツリーのルート ノードは Document オブジェクトであり、ドキュメントがドキュメント全体を指す場合もあります。

Document で定義されているメソッドのほとんどは生成メソッドであり、主にドキュメントに挿入できるさまざまなタイプのノードを作成するために使用されます。一般的に使用される Document メソッドは次のとおりです:

メソッド

description

createAttribute()

指定された名前で新しい Attr ノードを作成します。

createComment()

指定された文字列を使用して新しい Comment ノードを作成します。

createElement()

指定されたタグ名で新しい要素ノードを作成します。

createTextNode()

指定されたテキストを含む新しい TextNode ノードを作成します。

getElementById()

ドキュメント内の指定された id 属性を持つ要素ノードを返します。

getElementsByTagName()

ドキュメント内の指定されたタグ名を持つすべての要素ノードを返します。

一般的に使用される要素メソッド:

Node オブジェクトの一般的に使用される属性:

Method

Description

getAttribute()

指定された属性の値を文字列形式で返します。

getAttributeNode()

指定された属性の値を Attr ノードの形式で返します。

getElementsByTabName()

指定されたタグ名を持つすべての要素ノードの子孫ノードをドキュメント内に出現する順序で含むノード配列を返します。

hasAttribute()

要素に指定された名前の属性がある場合に true を返します。

removeAttribute()

指定された属性を要素から削除します。

removeAttributeNode()

指定された Attr ノードを要素の属性リストから削除します。

setAttribute()

指定された属性を指定された文字列値に設定するか、属性が存在しない場合は新しい属性を追加します。

setAttributeNode()

指定された Attr ノードを要素の属性リストに追加します。

attributeschildNodeslastChild

ノードがElement の場合、その要素の属性が NamedNodeMap の形式で返されます。

は、現在のノードの子ノードをNode[]の形式で格納します。子ノードがない場合は、空の配列が返されます。

firstChild

現在のノードの最初の子ノードを Node の形式で返します。子ノードがない場合は null

現在のノードの最後の子ノードを Node の形式で返します。子ノードがない場合、これは null になります。

次の兄弟

現在のノードの兄弟である次のノードを Node の形式で返します。そのようなノードが存在しない場合は、null が返されます。

nodeName

ノードの名前。ElementノードはElementのタグ名を表します。

nodeType

はノードのタイプを表します。

parentNode

現在のノードの親ノードを Node の形式で返します。親ノードがない場合、これは null になります。

previousSibling

現在のノードの直前の兄弟ノードをNodeの形式で返します。そのようなノードが存在しない場合は、null が返されます。

Node オブジェクトの一般的なメソッド:

Method

Description

appendChild()

の childNodes[] にノードを追加することで、現在のノード グループ、ドキュメント ツリーにノードを追加します。

cloneNode()

現在のノードをコピーするか、現在のノードとそのすべての子孫ノードをコピーします。

hasChildNodes()

現在のノードに子ノードがある場合は true を返します。

insertBefore()

ノードをドキュメントツリーに挿入し、現在のノードの指定された子ノードの前に配置します。ノードがすでに存在する場合は、それを削除し、その場所に挿入します。

removeChild()

指定された子ノードをドキュメントツリーから削除して返します。

replaceChild()

指定された子ノードをドキュメントツリーから削除して返し、別のノードに置き換えます。


要素の値を取得します

以下のコードは、最初の 7d9e1ed7ecf7800a450e38bc8f7496b0 要素の "lang" 属性のテキスト値を取得します:

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

結果: txt = "en"

要素の値を変更します

以下のコード最初の e175450376b69659637efddf853b3692) を作成し、それを最初の 463aef0d2da08708f472268a99530dbe 要素に追加します。値「First」を持つテキスト ノードを作成します

このテキスト ノードを a866a342e5caa631fbe389b07113afd3 要素に追加します
  1. a866a342e5caa631fbe389b07113afd3 要素を最初の 463aef0d2da08708f472268a99530dbe 要素に追加します
  2. removeChild() メソッドは、指定されたノード (または要素) を削除します。
  3. 次のコード スニペットは、最初の 要素の最初のノードを削除します。

    newel=xmlDoc.createElement("edition");
  4. サンプル コード
  5. newtext=xmlDoc.createTextNode("First");

以上がXML学習(2) XML文書に対するDOM操作を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。