Comment puis-je imprimer correctement XML source en utilisant VB6 et MSXML?

Je m'en occupe depuis des mois maintenant et j'ai surtout trouvé des sites qui posaient la même question.

Les réponses que j' trouvés étaient toujours pour .NET ou C++ ou XSLT impliqué.

20
demandé sur Daniel Rikowski 2009-07-13 13:54:44

1 réponses

Après des mois de recherche, je suis venu avec cette.

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

utilisation D'un document:

Public Function PrettyPrintDocument(Doc As DOMDocument60) As String
  PrettyPrintDocument = PrettyPrintXML(Doc.XML)
End Function
30
répondu Daniel Rikowski 2016-03-11 12:22:37