I've been looking after this for months now and I mostly found sites asking the same question.
The answers I did found were always for .NET or C++ or involved XSLT.
After months of research I've come up with this.
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
Using a document:
Public Function PrettyPrintDocument(Doc As DOMDocument60) As String PrettyPrintDocument = PrettyPrintXML(Doc.XML) End Function
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With