Newer Version Available
ストリームを使用した 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 ドキュメントを書き込み、その妥当性をテストします。
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public class XmlWriterDemo {
18
19 public String getXml() {
20 XmlStreamWriter w = new XmlStreamWriter();
21 w.writeStartDocument(null, '1.0');
22 w.writeProcessingInstruction('target', 'data');
23 w.writeStartElement('m', 'Library', 'http://www.book.com');
24 w.writeNamespace('m', 'http://www.book.com');
25 w.writeComment('Book starts here');
26 w.setDefaultNamespace('http://www.defns.com');
27 w.writeCData('<Cdata> I like CData </Cdata>');
28 w.writeStartElement(null, 'book', null);
29 w.writedefaultNamespace('http://www.defns.com');
30 w.writeAttribute(null, null, 'author', 'Manoj');
31 w.writeCharacters('This is my book');
32 w.writeEndElement(); //end book
33 w.writeEmptyElement(null, 'ISBN', null);
34 w.writeEndElement(); //end library
35 w.writeEndDocument();
36 String xmlOutput = w.getXmlString();
37 w.close();
38 return xmlOutput;
39 }
40}1swfobject.registerObject("clippy.codeblock-2", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17@isTest
18private class XmlWriterDemoTest {
19 static TestMethod void basicTest() {
20 XmlWriterDemo demo = new XmlWriterDemo();
21 String result = demo.getXml();
22 String expected = '<?xml version="1.0"?><?target data?>' +
23 '<m:Library xmlns:m="http://www.book.com">' +
24 '<!--Book starts here-->' +
25 '<![CDATA[<Cdata> I like CData </Cdata>]]>' +
26'<book xmlns="http://www.defns.com" author="Manoj">This is my book</book><ISBN/></m:Library>';
27
28 System.assert(result == expected);
29 }
30}