I'm new with groovy (a few weeks of experience). Currently I'm trying to process some visual studio .vcproj files using groovy: replacing some paths, that will be found by a regexp patterns. This works fine for me.
To write the changes to the file, I'm using the
XmlUtil.serialize(slurper, writer)
method, where
def writer = new FileWriter(outputFile)
and
def slurper = new XmlSlurper(keepIgnorableWhitespace:true).parse(it)
This also works fine, except one thing.
In the original vcproj file each attribute is in a separate line, like:
<Configurations>
        <Configuration
            Name="Debug|Win32"
            OutputDirectory="$(ConfigurationName)"
            IntermediateDirectory="$(ConfigurationName)"
            ConfigurationType="1"
            InheritedPropertySheets="..\..\..\..\Test_Debug.vsprops"
            CharacterSet="2"
            >
but after calling the serialize() method of the XMLUtil class, the whole output is stored in one line:
<Configurations>
        <Configuration Name="Debug|Win32" InheritedPropertySheets="..\..\..\..\Test_Debug.vsprops" OutputDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="2">
for the XMS parser this should be not a problem, but in the postprocessing some perl scripts use this vcproj file and they complain about missing CR/LF within the attribute line.
So is there any easy possibility to configure the XMLslurper or the serialize-class to keep the CR/LF in between of each attributes?
 
     
    