cancel
Showing results for 
Search instead for 
Did you mean: 
mary_v
Pilgrim

how to indent xml files with installscript

hi,

i managed to write xml files successfully using this post here

unfortunately the result is one huge line with elements etc.

is it possible to use xmltextwriter... or something similar to format the file with linebreaks, spaces etc? how would i achieve this?

any brief installscript example would be helpful

mary
Labels (1)
0 Kudos
4 Replies
Highlighted
mary_v
Pilgrim

Re: how to indent xml files with installscript

nobody any idea? :rolleyes:

mary
0 Kudos

Re: how to indent xml files with installscript

One idea would be to include a very small XSLT file with the xsl:output indent option set to yes in your setup. Then use a XML API to apply this XSLT file to your generated XML file to get the proper formatting.

You can probably find code samples of applying a XSLT to a XML document. And a sample of simple XSLT that you can use to correctly format the XML document.

Hope this helps,
Ajay
0 Kudos
mary_v
Pilgrim

Re: how to indent xml files with installscript

yes you're right -
but i don't want to write a temporary xslt file if i don't have to ...

any other suggestion?

mary
0 Kudos
Marachkovski
Pilgrim

Re: how to indent xml files with installscript

Dim xmlDocument
Dim pathToXmlFile

pathToXmlFile = Session.Property("INSTALLDIR") & "\InnovatorServerConfig.xml"
Set xmlDocument = CreateObject("Microsoft.XMLDOM")
xmlDocument.async = false
xmlDocument.load pathToXmlFile

Dim xslt
xslt = "" & vbcrlf
xslt = xslt & "" & vbcrlf
xslt = xslt & "" & vbcrlf
xslt = xslt & ""& vbcrlf
xslt = xslt & ""& vbcrlf
xslt = xslt & "
"

set xsltDom = CreateObject("Microsoft.XMLDOM")
xsltDom.async = false
xsltDom.loadXML(xslt)

' Apply transformation
xmlDocument.transformNodeToObject xsltDom, xmlDocument

xmlDocument.Save pathToXmlFile
0 Kudos