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

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

Apex では、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 の簡単な例を示します。

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

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

XmlNode の例

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