オブジェクト組み込みオブジェクト

オブジェクトXmlドキュメント

XmlDocument は xmlXML ドキュメント全体を表し、ドキュメント全体へのアクセスを提供するモジュールのオブジェクト。

XmlDocument はドキュメント ツリーのルートであり、XML ドキュメント全体のすべてのノードが含まれます。XmlDocument オブジェクトは次の関数も提供します。

  1. 要素ノード、テキストノード、コメント、処理命令などを作成します。
  2. ドキュメントのプロパティと関連情報 (DTD コメントやドキュメント宣言など) にアクセスして変更します。
  3. XMLドキュメントを解析する

以下は、XmlDocument オブジェクトを使用して XML ドキュメントを解析するサンプル コードです。

1 2 3 4 5 6 7 8 9
var xml = require('xml'); var fs = require('fs'); var xmlStr = fs.readFile('test.xml'); var xmlDoc = xml.parse(xmlStr); // get document root node name var rootName = xmlDoc.documentElement.nodeName; console.log(`文档根节点名称是 ${rootName}`);

上記のコードでは、まずfsmodulereadFile()メソッドを使用して XML ファイルを読み取り、ファイル ストリームを変数 に割り当てますxmlStr[xml](../../module/ifs/xml.md)次に、モジュールのメソッドを使用してXML ファイルを解析し、parse()解析されたオブジェクトを変数にXmlDocument割り当てますxmlDocxmlDoc最後に、 の属性を使用してdocumentElementドキュメント ルート ノードを取得し、そのノード名を取得して、コンソールに出力します。

XmlDocument は XML ドキュメント全体への入り口であるため、XmlDocument を通じてドキュメント関連の情報を取得および変更できます。たとえば、xmlDoc.xmlVersionと をそれぞれ使用してxmlDoc.xmlStandalone、ドキュメントの XML バージョンとスタンドアロン属性を取得および変更できます。xmlDoc.createProcessingInstruction()このメソッドを通じて新しい処理命令ノードを作成することもできます。

XmlDocument オブジェクトは、XML ファイルの処理と解析に非常に便利な非常に強力な型です。

相続関係

コンストラクタ

XmlDocument

XmlDocument オブジェクトを構築する

1
new XmlDocument(String type = "text/xml");

呼び出しパラメータ:

  • type: 文字列。ドキュメント オブジェクトのタイプを指定します。デフォルトは "text/xml"、htmlを処理する必要がある場合は、"text/html"を指定する必要があります

メンバーのプロパティ

inputEncoding

文字列、ドキュメントに使用されるエンコーディングを返します (解析時)

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

ブール値、ドキュメントがスタンドアロンかどうかを設定または返します。

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

ドキュメントの XML バージョンを文字列で設定または返します

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType、ドキュメントに関連するドキュメント タイプ宣言を返します。

1
readonly XmlDocumentType XmlDocument.doctype;

DTD のない XML ドキュメントの場合は、null が返されます。このプロパティが提供するのは、XmlDocumentTypeオブジェクト (XmlDocument の子ノード) への直接アクセス。


documentElement

XmlElement、ドキュメントのルートノードを返します。

1
readonly XmlElement XmlDocument.documentElement;

XmlElement、HTML ドキュメントのヘッド ノードを返します。HTML モードでのみ有効です。

1
readonly XmlElement XmlDocument.head;

title

文字列。HTML ドキュメントのタイトル ノードのコンテンツを返します。HTML モードでのみ有効です。

1
readonly String XmlDocument.title;

body

XmlElement、HTML ドキュメントの本文ノードを返します。HTML モードでのみ有効です。

1
readonly XmlElement XmlDocument.body;

nodeType

整数。ノードのノード タイプを返します。

1
readonly Integer XmlDocument.nodeType;

オブジェクトが異なると、nodeType も異なる値を返します。


nodeName

文字列。タイプに応じてノードの名前を返します。

1
readonly String XmlDocument.nodeName;

オブジェクトが異なると、nodeName も異なる値を返します。


nodeValue

文字列。タイプに応じてノードの名前を返します。

1
String XmlDocument.nodeValue;

オブジェクトが異なると、nodeName も異なる値を返します。


ownerDocument

XmlDocument、ノードのルート要素 (XmlDocument オブジェクト) を返します。

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode、ノードの親ノードを返すことができます

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList、指定されたノードの子ノードのノードリストを返します。

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeListは、指定されたノードの子要素ノードのノード リストを返します。

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode、ノードの最初の子ノードを返します。

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode、ノードの最後の子ノードを返します。

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNodeは、(同じツリー レベルで) ノードの直前のノードを返します。そのようなノードがない場合、このプロパティは null を返します。

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNodeは、(同じツリー レベル内の) 要素の直後にあるノードを返します。そのようなノードがない場合、属性は null を返します。

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode、ノードの最初の子要素ノードを返します。

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode、ノードの最後の子要素ノードを返します。

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, ノード (同じツリー レベル) の直前の要素ノードを返します。そのようなノードがない場合、このプロパティは null を返します。

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, (同じツリー レベル内の) 要素の直後にある要素ノードを返します。そのようなノードがない場合、属性は null を返します。

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

選択した要素のテキストをクエリおよび設定する文字列。クエリの場合は、要素ノード内のすべてのテキスト ノードの値を返します。設定の場合は、すべての子ノードを削除し、単一のテキスト ノードに置き換えます。

1
String XmlDocument.textContent;

メンバー関数

load

ドキュメントは XML/HTML 文字列を解析して作成されており、多言語はサポートされていません。

1
XmlDocument.load(String source);

呼び出しパラメータ:

  • source: 文字列。ドキュメント作成時のタイプに応じて、解析される XML/HTML テキスト。

ドキュメントはバイナリ XML/HTML 文字列を解析することによって構成され、言語に従って自動的に変換されます。

1
XmlDocument.load(Buffer source);

呼び出しパラメータ:

  • source:Buffer、作成時のドキュメントのタイプに応じて、解析される XML/HTML テキスト

getElementsByTagName

指定された名前を持つすべての要素を含むノード リストを返します。

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

呼び出しパラメータ:

  • tagName: 文字列、取得するタグ名。値「*」はすべてのタグに一致します

返される結果:

  • XmlNodeList、ドキュメントツリー内の指定されたタグを使用してXmlElementノーダルXmlNodeList集める。返される要素ノードの順序は、ソース ドキュメント内での出現順序となります。

このメソッドは、XmlNodeList指定されたタグ名を持つドキュメント内のすべてのタグを格納するオブジェクト (読み取り専用の配列として処理可能)XmlElementノードはソースドキュメントに出現する順序で保存されます。XmlNodeListオブジェクトは「ライブ」です。つまり、指定されたタグ名を持つ要素がドキュメント内で追加または削除されると、そのコンテンツは必要に応じて自動的に更新されます。


getElementsByTagNameNS

指定された名前空間と名前を持つすべての要素のノード リストを返します。

1 2
XmlNodeList XmlDocument.getElementsByTagNameNS(String namespaceURI, String localName);

呼び出しパラメータ:

  • namespaceURI: 文字列。取得する名前空間 URI を指定します。値「*」はすべてのタグに一致します
  • localName: 文字列、取得するタグ名。値「*」はすべてのタグに一致します

返される結果:

  • XmlNodeList、ドキュメントツリー内の指定されたタグを使用してXmlElementノーダルXmlNodeList集める。返される要素ノードの順序は、ソース ドキュメント内での出現順序となります。

このメソッドは、名前空間と名前に基づいて要素を取得する点を除いて、getElementsByTagName() メソッドに似ています。


getElementById

指定された id 属性を持つ要素を返します

1
XmlElement XmlDocument.getElementById(String id);

呼び出しパラメータ:

  • id: 文字列、取得する ID

返される結果:

このメソッドは、ドキュメントの子孫ノードを走査し、XmlElement指定された id 属性を持つ最初のドキュメント要素を表すノード オブジェクト。


getElementsByClassName

指定されたクラス名を持つすべての要素のノード リストを返します。

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

呼び出しパラメータ:

  • className: 文字列、取得するクラス名

返される結果:

  • XmlNodeList、ドキュメントツリー内の指定されたクラス名XmlElementノーダルXmlNodeList集める。返される要素ノードの順序は、ソース ドキュメント内での出現順序となります。

このメソッドは、XmlNodeListドキュメント内の指定されたクラス名を持つすべてのファイルを格納するオブジェクト (読み取り専用配列として処理可能)XmlElementノードはソースドキュメントに出現する順序で保存されます。XmlNodeListオブジェクトは「ライブ」です。つまり、指定されたタグ名を持つ要素がドキュメント内で追加または削除されると、そのコンテンツは必要に応じて自動的に更新されます。


createElement

要素ノードの作成

1
XmlElement XmlDocument.createElement(String tagName);

呼び出しパラメータ:

  • tagName: 文字列、要素ノードの指定された名前を指定します。

返される結果:

  • XmlElement、新しく作成されたものを返しますXmlElement指定されたラベル名を持つノード

createElementNS

指定された名前空間で要素ノードを作成します

1 2
XmlElement XmlDocument.createElementNS(String namespaceURI, String qualifiedName);

呼び出しパラメータ:

  • namespaceURI: 文字列、要素ノードの名前空間 URI を指定します。
  • qualifiedName: 文字列、要素ノードの指定された名前を指定します。

返される結果:

  • XmlElement、新しく作成されたものを返しますXmlElement指定されたラベル名を持つノード

createTextNode

テキストノードの作成

1
XmlText XmlDocument.createTextNode(String data);

呼び出しパラメータ:

  • data: 文字列、このノードのテキストを指定します

返される結果:

  • XmlText、新しく作成されたものを返しますXmlText指定されたデータ文字列を表すノード

createComment

アノテーションノードの作成

1
XmlComment XmlDocument.createComment(String data);

呼び出しパラメータ:

  • data: 文字列、このノードのコメント テキストを指定します

返される結果:

  • XmlComment、新しく作成されたものを返しますXmlCommentノード、コメントテキストは指定されたデータです

createCDATASection

作成するXmlCDATASectionノード

1
XmlCDATASection XmlDocument.createCDATASection(String data);

呼び出しパラメータ:

  • data: 文字列。このノードが CDATA データを指定することを指定します。

返される結果:


createProcessingInstruction

作成するXmlProcessingInstructionノード

1 2
XmlProcessingInstruction XmlDocument.createProcessingInstruction(String target, String data);

呼び出しパラメータ:

  • target: 文字列、処理命令のターゲットを指定します。
  • data: 文字列、処理命令の内容テキストを指定します。

返される結果:


hasChildNodes

子ノードがあるかどうかを問い合わせる

1
Boolean XmlDocument.hasChildNodes();

返される結果:

  • Boolean、子ノードがある場合は true を返し、それ以外の場合は false を返します。

normalize

隣接するテキスト ノードをマージし、空のテキスト ノードを削除します

1
XmlDocument.normalize();

このメソッドは、現在のノードのすべての子孫ノードを走査し、空の Text ノードを削除し、隣接するすべての Text ノードをマージすることでドキュメントを正規化します。この方法は、ノードの挿入または削除後にドキュメント ツリーの構造を簡素化するのに役立ちます。


cloneNode

指定されたノードの正確なコピーを作成します

1
XmlNode XmlDocument.cloneNode(Boolean deep = true);

呼び出しパラメータ:

  • deep: ブール値、ディープ コピーするかどうか。true の場合、複製されたノードは元のノードのすべての子ノードを複製します。

返される結果:

  • XmlNode、コピーされたノードを返します

このメソッドは、呼び出されたノードのコピーをコピーして返します。渡された引数が true の場合、現在のノードのすべての子孫ノードも再帰的にコピーされます。それ以外の場合は、現在のノードをコピーするだけです。返されたノードはドキュメント ツリーに属しておらず、そのparentNode プロパティは null です。要素ノードがコピーされると、そのすべてのプロパティがコピーされます。


lookupPrefix

現在のノード上の指定された名前空間 URI に一致するプレフィックスを返します。

1
String XmlDocument.lookupPrefix(String namespaceURI);

呼び出しパラメータ:

  • namespaceURI: 文字列。一致する名前空間 URI を指定します。

返される結果:

  • String、一致するプレフィックスを返し、一致しない場合は null を返します。

lookupNamespaceURI

現在のノード上の指定されたプレフィックスに一致する名前空間 URI を返します。

1
String XmlDocument.lookupNamespaceURI(String prefix);

呼び出しパラメータ:

  • prefix: 文字列、一致するプレフィックスを指定します

返される結果:

  • String、一致する名前空間 URI を返し、一致しない場合は null を返します。

insertBefore

既存の子ノードの前に新しい子ノードを挿入します

1 2
XmlNode XmlDocument.insertBefore(XmlNode newChild, XmlNode refChild);

呼び出しパラメータ:

  • newChild:XmlNode、新しいノードを挿入します
  • refChild:XmlNode、このノードの前に新しいノードを挿入します

返される結果:

  • XmlNode、新しい子ノードを返します

newChild がドキュメント ツリーに既に存在する場合は、ドキュメント ツリーから削除され、新しい位置に再挿入されます。1 つのドキュメントのノード (または 1 つのドキュメントによって作成されたノード) を別のドキュメントに挿入することはできません。つまり、newChild の ownerDocument 属性は、現在のノードの ownerDocument 属性と同じである必要があります。


insertAfter

既存の子ノードの後に​​新しい子ノードを挿入します

1 2
XmlNode XmlDocument.insertAfter(XmlNode newChild, XmlNode refChild);

呼び出しパラメータ:

  • newChild:XmlNode、新しいノードを挿入します
  • refChild:XmlNode、このノードの後に​​新しいノードを挿入します

返される結果:

  • XmlNode、新しい子ノードを返します

newChild がドキュメント ツリーに既に存在する場合は、ドキュメント ツリーから削除され、新しい位置に再挿入されます。1 つのドキュメントのノード (または 1 つのドキュメントによって作成されたノード) を別のドキュメントに挿入することはできません。つまり、newChild の ownerDocument 属性は、現在のノードの ownerDocument 属性と同じである必要があります。


appendChild

新しい子ノードをノードの子ノード リストの末尾に追加します

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

呼び出しパラメータ:

  • newChild:XmlNode、追加したノードを指定します

返される結果:

  • XmlNode、この新しい子ノードを返します

newChild がドキュメント ツリーに既に存在する場合は、ドキュメント ツリーから削除され、新しい位置に再挿入されます。1 つのドキュメントのノード (または 1 つのドキュメントによって作成されたノード) を別のドキュメントに挿入することはできません。つまり、newChild の ownerDocument 属性は、現在のノードの ownerDocument 属性と同じである必要があります。


replaceChild

子ノードを別のノードに置き換える

1 2
XmlNode XmlDocument.replaceChild(XmlNode newChild, XmlNode oldChild);

呼び出しパラメータ:

  • newChild:XmlNode、新しいノードを指定します
  • oldChild:XmlNode、置換するノードを指定します

返される結果:

  • XmlNode, 置換が成功した場合、このメソッドは置換されたノードを返しますが、置換が失敗した場合は null を返します。

newChild がドキュメント ツリーに既に存在する場合は、ドキュメント ツリーから削除され、新しい位置に再挿入されます。1 つのドキュメントのノード (または 1 つのドキュメントによって作成されたノード) を別のドキュメントに挿入することはできません。つまり、newChild の ownerDocument 属性は、現在のノードの ownerDocument 属性と同じである必要があります。


removeChild

子ノードのリストからノードを削除します。

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

呼び出しパラメータ:

  • oldChild:XmlNode、削除するノードを指定します

返される結果:

  • XmlNode, 削除が成功した場合、このメソッドは削除されたノードを返すことができますが、失敗した場合は null を返します。

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String XmlDocument.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value XmlDocument.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します