hubbub UTF-8, DOMDocument.save() PI , . , ( ) SAX Writer.
, . , .
Option Explicit
Private Sub Main()
Dim varStock As Variant
Dim docStock As MSXML2.DOMDocument
Dim elemRoot As MSXML2.IXMLDOMElement
Dim elemStock As MSXML2.IXMLDOMElement
Dim elemField As MSXML2.IXMLDOMElement
Dim I As Integer
varStock = Array(Array("12345", 10.32), _
Array("¥45632", 5.43)) 'Yen sign used here to show Unicode.
Set docStock = New MSXML2.DOMDocument
With docStock
.appendChild .createProcessingInstruction("xml", _
"version=""1.0"" encoding=""utf-8""")
Set elemRoot = .createElement("ArrayOfStock")
With elemRoot
.setAttribute "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"
.setAttribute "xmlns:xsd", "http://www.w3.org/2001/XMLSchema"
For I = 0 To UBound(varStock)
Set elemStock = docStock.createElement("Stock")
With elemStock
Set elemField = docStock.createElement("ProductCode")
elemField.Text = CStr(varStock(I)(0))
.appendChild elemField
Set elemField = docStock.createElement("ProductPrice")
elemField.Text = CStr(varStock(I)(1))
.appendChild elemField
End With
.appendChild elemStock
Next
End With
Set .documentElement = elemRoot
On Error Resume Next
Kill "created.xml"
On Error GoTo 0
.save "created.xml"
End With
End Sub
, , , UTF-8.
, , .save() - ADODB.Stream XMLHTTPRequest.send DOMDocument (). Interop.