DOM を使用した XML の読み取りと書き込み
DOM クラスを使用して、XML コンテンツを解析または生成できます。これらのクラスを使用して、XML コンテンツを処理できます。ある一般的なアプリケーションでは、このクラスを使用して HttpRequest で作成されたリクエストボディを生成するか、HttpResponse がアクセスした応答を解析します。DOM は、XML ドキュメントをノードの階層として示します。分岐ノードで子ノードがあるノードもあれば、葉ノードで子ノードがないものもあります。深度が最大 50 ノードのネストされた XML コンテンツを解析できます。
DOM クラスは Dom 名前空間に含まれます。
Document クラスを使用して、XML ドキュメントの本文の内容を処理します。
XmlNode クラスを使用して XML ドキュメントのノードを処理します。
Document クラスを使用して、XML コンテンツを処理します。ある一般的なアプリケーションでは、このクラスを使用して、HttpRequest のリクエストボディを作成するか、HttpResponse がアクセスした応答を解析します。
XML 名前空間
XML 名前空間は、URI 参照で識別される名前のコレクションで XML ドキュメントで使用され、要素の種類や属性名を一意に特定します。XML 名前空間の名前は修飾名として示される場合があり、コロンを使用して、名前を名前空間プレフィックスとローカルの部分に分割します。URI 参照に対応付けられたプレフィックスは、名前空間を選択します。管理された URI 名前空間とドキュメント独自の名前空間を組み合わせて、一意の識別子を作成します。
次の XML 要素には、http://my.name.space の名前空間と myprefix のプレフィックスがあります。
次の例では、XML 要素に 2 つの属性があります。
- 最初の属性には、dimension のキーがあります。値は 2 です。
- 2 番目の属性には、http://ns1 のキー名前空間があります。値名前空間は http://ns2、キーは foo、値は bar です。
Document の例
この例では、parseResponseDom に渡される url 引数が次の XML 応答を返すと想定します。
次の例では、DOM クラスを使用して GET リクエストボディで返される XML 応答をどのように解析するかを示しています。
XML ノードの使用
XmlNode クラスを使用して XML ドキュメントのノードを処理します。DOM は、XML ドキュメントをノードの階層として示します。分岐ノードで子ノードがあるノードもあれば、葉ノードで子ノードがないものもあります。
Apex で使用できるさまざまな種類の DOM ノードがあります。XmlNodeType は、これらの種類の列挙です。値は次のとおりです。
- COMMENT
- ELEMENT
- TEXT
XML ドキュメントでは、要素とノードを区別することが重要です。次に、XML の簡単な例を示します。
この例には、name、firstName、lastName の 3 つの XML 要素が含まれています。name、firstName、lastName の 3 つの要素ノード、Suvain、Singh の 2 つのテキストノード、合計 5 つのノードが含まれています。要素ノード内のテキストは、個別のテキストノードとみなされます。
すべての enum で共有されるメソッドの詳細は、「Enum メソッド」を参照してください。