Я слежу за этим уже несколько месяцев, и я в основном нашел сайты, задающие тот же вопрос.
Ответы, которые я нашел , всегда были для .NET или C ++ или XSLT.
После месяцев исследований я придумал это.
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
Использование документа:
Public Function PrettyPrintDocument(Doc As DOMDocument60) As String PrettyPrintDocument = PrettyPrintXML(Doc.XML) End Function