Thanks Paul, this got me a little bit further, but I still need some assistance.
def str ="""rootElement={
someComplexSubElement={
string1="sdfsf"
string2="sdsssss"
}
someOtherComplexSubElement={
string1="sdfsf"
string2="sdsssss"
}
string1="yert"
string2="selskdjf"
}"""
def rvTreeMap =new ConfigSlurper().parse(str.replaceAll(/=\s*\{/, / \{/)).flatten()
def xml=new StringWriter()
def builder = new groovy.xml.MarkupBuilder(xml)
def root =rvTreeMap.toString().substring(1,rvTreeMap.toString().indexOf("."))
builder."${root}"{
rvTreeMap.each(){ key, value ->
"${key}""${value}"
}
}
println xml
OUTPUT
<rootElement>
<rootElement.someComplexSubElement.string1>sdfsf</rootElement.someComplexSubElement.string1>
<rootElement.someComplexSubElement.string2>sdsssss</rootElement.someComplexSubElement.string2>
<rootElement.someOtherComplexSubElement.string1>sdfsf</rootElement.someOtherComplexSubElement.string1>
<rootElement.someOtherComplexSubElement.string2>sdsssss</rootElement.someOtherComplexSubElement.string2>
<rootElement.string1>yert</rootElement.string1>
<rootElement.string2>selskdjf</rootElement.string2>
</rootElement>
> Date: Sat, 1 May 2010 13:50:44 +1000
> From: paulk-V+QuBFElvc30CCvOHzKKcA@public.gmane.org
> To: user-i9PBDF1N6cxnkHa44VUL00B+6BGkLq7r@public.gmane.org
> Subject: Re: [groovy-user] Creating XML
>
>
> It is close to ConfigSlurper format. You could convert using:
>
> new ConfigSlurper().parse(str.replaceAll(/=\s*\{/, / \{/))
>
> And from there output into XML using perhaps MarkupBuilder.
>
> Paul.
>
> On 1/05/2010 8:30 AM, citron wrote:
> >
> > Hi,
> >
> > I need to transform strings in this format into xml, any ideas how to do
> > this?
> >
> > Thanks!
> >
> > def str ="""rootElement={
> > someComplexSubElement={
> > string1="sdfsf"
> > string2="sdsssss"
> > }
> > someOtherComplexSubElement={
> > string1="sdfsf"
> > string2="sdsssss"
> > }
> > string1="yert"
> > string2="selskdjf"
> > }"""
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
Hotmail: Trusted email with powerful SPAM protection.
Sign up now.