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

Newer Version Available

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

ストリームを使用した XML の書き込み

XmlStreamWriter クラスメソッドでは、XML データの書き込みを可能にします。
これらのメソッドは HTTP コールアウトと併用して、コールアウト要求で外部サービスに送信する XML ドキュメントを作成します。次の例は、新しい XmlStreamReader オブジェクトのインスタンス化の方法を示しています。
1String xmlString = '<books><book>My Book</book><book>Your Book</book></books>';
2XmlStreamReader xsr = new XmlStreamReader(xmlString);

XML ライターメソッド例

次の例では、XML ドキュメントを書き込み、その妥当性をテストします。

この Hello World サンプルにはカスタムオブジェクトが必要です。カスタムオブジェクトを自分で作成するか、オブジェクトと Apex コードを未管理パッケージとして Salesforce AppExchange からダウンロードできます。組織でサンプルアセットを取得するには、Apex Tutorials パッケージをインストールします。このパッケージには、納入先請求書の例のためのサンプルコードとオブジェクトも含まれています。

1public class XmlWriterDemo {
2
3     public String getXml() {
4          XmlStreamWriter w = new XmlStreamWriter();
5          w.writeStartDocument(null, '1.0');
6          w.writeProcessingInstruction('target', 'data');
7          w.writeStartElement('m', 'Library', 'http://www.book.com');
8          w.writeNamespace('m', 'http://www.book.com');
9          w.writeComment('Book starts here');
10          w.setDefaultNamespace('http://www.defns.com');
11          w.writeCData('<Cdata> I like CData </Cdata>');
12          w.writeStartElement(null, 'book', null);
13          w.writedefaultNamespace('http://www.defns.com');
14          w.writeAttribute(null, null, 'author', 'Manoj');
15          w.writeCharacters('This is my book');
16          w.writeEndElement(); //end book
17          w.writeEmptyElement(null, 'ISBN', null);
18          w.writeEndElement(); //end library
19          w.writeEndDocument();
20          String xmlOutput = w.getXmlString();
21          w.close();
22          return xmlOutput;
23        }
24}
1@isTest
2private class XmlWriterDemoTest {
3    static TestMethod void basicTest() {
4        XmlWriterDemo demo = new XmlWriterDemo();
5        String result = demo.getXml();
6        String expected = '<?xml version="1.0"?><?target data?>' +
7            '<m:Library xmlns:m="http://www.book.com">' + 
8            '<!--Book starts here-->' +
9            '<Cdata> I like CData </Cdata>' +
10'<book xmlns="http://www.defns.com" author="Manoj">This is my book</book><ISBN/></m:Library>';
11        
12        System.assert(result == expected);
13    }
14}