この文章は 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}