21

私はこれを何ヶ月も見守ってきましたが、ほとんどのサイトが同じ質問をしているのを見つけました.

私が見つけた答えは、常に .NET または C++、または関連する XSLT に関するものでした。

4

1 に答える 1

34

何ヶ月もの研究の後、私はこれを思いつきました。

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
于 2009-07-13T09:55:04.657 に答える