List 6-41 XMLパーサーを使ったXML文字列の作成
1: Function GetCustomers3() As String
2: Dim objXMLdoc As MSXML.DOMDocument
3: Dim objXMLpi As MSXML.IXMLDOMProcessingInstruction
4: Dim objXMLroot As MSXML.IXMLDOMElement
5: Dim objXMLCustomer As MSXML.IXMLDOMElement
6: Dim objXMLCustomerName As MSXML.IXMLDOMElement
7: Dim objXMLTelephone As MSXML.IXMLDOMElement
8: Dim objXMLFax As MSXML.IXMLDOMElement
9:
10: ' XMLオブジェクトの実体化
11: Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
12:
13: ' プロセッシングインストラクションの作成
14: Set objXMLpi = objXMLdoc.createProcessingInstruction("xml", _
"version=""1.0"" encoding=""Shift_JIS""")
15:
16: ' ルートエレメントの作成
17: Set objXMLroot = objXMLdoc.createElement("CUSTOMERS")
18: objXMLdoc.appendChild objXMLroot
19:
20: ' 1行分のデータを構築
21: Set objXMLCustomer = objXMLdoc.createElement("CUSTOMER")
22: Set objXMLCustomerName = objXMLdoc.createElement("CUSTOMERNAME")
23: objXMLCustomerName.appendChild _
objXMLdoc.createTextNode("ソフトバンクパブリッシング")
24: Set objXMLTelephone = objXMLdoc.createElement("TELEPHONE")
25: objXMLTelephone.appendChild objXMLdoc.createTextNode("03-1234-5678")
26: Set objXMLFax = objXMLdoc.createElement("FAX")
27: objXMLFax.appendChild objXMLdoc.createTextNode("03-1234-5679")
28:
29: objXMLCustomer.appendChild objXMLCustomerName
30: objXMLCustomer.appendChild objXMLTelephone
31: objXMLCustomer.appendChild objXMLFax
32:
33: ' ルートエレメントの配下にデータを追加する
34: objXMLroot.appendChild objXMLCustomer
35:
36: ' 1行分のデータを構築
37: Set objXMLCustomer = objXMLdoc.createElement("CUSTOMER")
38: Set objXMLCustomerName = objXMLdoc.createElement("CUSTOMERNAME")
39: objXMLCustomerName.appendChild objXMLdoc.createTextNode("マイクロソフト")
40: Set objXMLTelephone = objXMLdoc.createElement("TELEPHONE")
41: objXMLTelephone.appendChild objXMLdoc.createTextNode("03-2345-6789")
42: Set objXMLFax = objXMLdoc.createElement("FAX")
43: objXMLFax.appendChild objXMLdoc.createTextNode("03-2345-6790")
44:
45: objXMLCustomer.appendChild objXMLCustomerName
46: objXMLCustomer.appendChild objXMLTelephone
47: objXMLCustomer.appendChild objXMLFax
48:
49: ' ルートエレメントの配下にデータを追加する
50: objXMLroot.appendChild objXMLCustomer
51:
52: ' 作成したXMLの文字列を戻り値として設定
53: GetCustomers3 = objXMLdoc.xml
54:
55: ' オブジェクトの解放
56: Set objXMLFax = Nothing
57: Set objXMLTelephone = Nothing
58: Set objXMLCustomerName = Nothing
59: Set objXMLCustomer = Nothing
60: Set objXMLroot = Nothing
61: Set objXMLdoc = Nothing
62: Set objXMLpi = Nothing
63: End Function