この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

DOM を使用した XML の読み取りと書き込み

Apex では、DOM (ドキュメントオブジェクトモデル) を使用して XML コンテンツを操作できるクラスを提供します。

DOM クラスを使用して、XML コンテンツを解析または生成できます。これらのクラスを使用して、XML コンテンツを処理できます。ある一般的なアプリケーションでは、このクラスを使用して HttpRequest で作成されたリクエストボディを生成するか、HttpResponse がアクセスした応答を解析します。DOM は、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 の簡単な例を示します。

この例には、namefirstNamelastName の 3 つの XML 要素が含まれています。namefirstNamelastName の 3 つの要素ノード、SuvainSingh の 2 つのテキストノード、合計 5 つのノードが含まれています。要素ノード内のテキストは、個別のテキストノードとみなされます。

すべての enum で共有されるメソッドの詳細は、Enum メソッドを参照してください。

XmlNode の例

この例では、XmlNode メソッドおよび名前空間を使用して XML 要求を作成する方法を示します。