问hookee大俠(刚结的贴,又有个问题!)
你的这个过程,我刚刚发现个问题
encoding编码怎么改不掉啊,总是UTF-16
formatDoc xml, server.mappath("xml.xml")
Sub formatDoc(ByRef oDoc, sFilename)
On Error Resume Next
Dim oSAXWriter, oSAXReader
Set oSAXWriter = CreateObject("Msxml2.MXXMLWriter.6.0")
Set oSAXReader = CreateObject("Msxml2.SAXXMLReader.6.0")
With oSAXWriter
.encoding = "UTF-8"
.byteOrderMark = True
.standalone = True
.omitXMLDeclaration = False
.indent = True
End With
With oSAXReader
Set .contentHandler = oSAXWriter
Set .dtdHandler = oSAXWriter
Set .errorHandler = oSAXWriter
.putProperty "http://xml.org/sax/properties/lexical-handler", oSAXWriter
.putProperty "http://xml.org/sax/properties/declaration-handler", oSAXWriter
.parse oDoc
End With
With oDoc
.loadXML oSAXWriter.output
If .parseError.errorCode <> 0 Then
sErrMsg = .parseError.errorCode & "|" &_
.parseError.srcText & "|" & .parseError.reason
On Error GoTo 0
Err.Raise 30000, "formatDoc", sErrMsg
Exit Sub
End If
.save sFilename
End With
Set oSAXWriter = Nothing
Set oSAXReader = Nothing
End Sub