vb6 msxml pretty-print

¿Cómo puedo imprimir una fuente XML con VB6 y MSXML?



pretty-print (1)

He estado cuidando esto durante meses y casi siempre encontré sitios que hacían la misma pregunta.

Las respuestas que encontré fueron siempre para .NET o C ++ o XSLT involucrado.


Después de meses de investigación he encontrado esto.

Public Function PrettyPrintXML(XML As String) As String Dim Reader As New SAXXMLReader60 Dim Writer As New MXXMLWriter60 Writer.indent = True Writer.standalone = False Writer.omitXMLDeclaration = False Writer.encoding = "utf-8" Set Reader.contentHandler = Writer Set Reader.dtdHandler = Writer Set Reader.errorHandler = Writer Call Reader.putProperty("http://xml.org/sax/properties/declaration-handler", _ Writer) Call Reader.putProperty("http://xml.org/sax/properties/lexical-handler", _ Writer) Call Reader.parse(XML) PrettyPrintXML = Writer.output End Function

Utilizando un documento:

Public Function PrettyPrintDocument(Doc As DOMDocument60) As String PrettyPrintDocument = PrettyPrintXML(Doc.XML) End Function