<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : Traitement du XML en Groovy</title>
	<atom:link href="http://www.touilleur-express.fr/2010/02/14/traitement-du-xml-en-groovy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.touilleur-express.fr/2010/02/14/traitement-du-xml-en-groovy/</link>
	<description>Blog sur Java, le métier de développeur et la vie de freelance par Nicolas Martignole</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:18:52 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Par : Nicolas Martignole</title>
		<link>http://www.touilleur-express.fr/2010/02/14/traitement-du-xml-en-groovy/comment-page-1/#comment-1161</link>
		<dc:creator>Nicolas Martignole</dc:creator>
		<pubDate>Mon, 15 Feb 2010 18:27:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3165#comment-1161</guid>
		<description>@Stephane ta technique est la plus groovy, celle de Raphael est légèrement plus rapide. Bravo les gars !</description>
		<content:encoded><![CDATA[<p>@Stephane ta technique est la plus groovy, celle de Raphael est légèrement plus rapide. Bravo les gars !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Stéphane</title>
		<link>http://www.touilleur-express.fr/2010/02/14/traitement-du-xml-en-groovy/comment-page-1/#comment-1160</link>
		<dc:creator>Stéphane</dc:creator>
		<pubDate>Mon, 15 Feb 2010 14:14:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3165#comment-1160</guid>
		<description>C&#039;est pas du très beau code mais cela devrait faire l&#039;affaire (in.xml contient évidemment le xml proposé en entrée) :

&lt;pre&gt;&lt;code&gt;
import groovy.xml.MarkupBuilder

def file = new File(&quot;in.xml&quot;)
def root=new XmlSlurper().parse(file)

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)

xml.html {
    head {
        title(&#039;Le Touilleur Express articles&#039;)
        meta(&quot;http-equiv&quot;:&#039;Content-Type&#039;, content:&#039;text/html; charset=UTF-8&#039;)
    }
    body {
        root.channel.item.each{currentItem-&gt;
                if(currentItem.post_type.text().equals(&quot;post&quot;)){
                        if(currentItem.status.text().equals(&quot;publish&quot;)){
                                a(href:currentItem.link.text(), target:&#039;new&#039;, currentItem.title.text())
                                mkp.yield(&#039; publié le &#039; + currentItem.pubDate.text())
                                br()
                        }
                }
        }
    }
}

println writer.toString()
&lt;/code&gt;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>C&#8217;est pas du très beau code mais cela devrait faire l&#8217;affaire (in.xml contient évidemment le xml proposé en entrée) :</p>
<pre><code>
import groovy.xml.MarkupBuilder

def file = new File("in.xml")
def root=new XmlSlurper().parse(file)

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)

xml.html {
    head {
        title('Le Touilleur Express articles')
        meta("http-equiv":'Content-Type', content:'text/html; charset=UTF-8')
    }
    body {
        root.channel.item.each{currentItem-&gt;
                if(currentItem.post_type.text().equals("post")){
                        if(currentItem.status.text().equals("publish")){
                                a(href:currentItem.link.text(), target:'new', currentItem.title.text())
                                mkp.yield(' publié le ' + currentItem.pubDate.text())
                                br()
                        }
                }
        }
    }
}

println writer.toString()
</code></pre>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Raphael brugier</title>
		<link>http://www.touilleur-express.fr/2010/02/14/traitement-du-xml-en-groovy/comment-page-1/#comment-1159</link>
		<dc:creator>Raphael brugier</dc:creator>
		<pubDate>Sun, 14 Feb 2010 19:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=3165#comment-1159</guid>
		<description>Woops, ça ne le fait pas du tout les balises html dans les commentaires :(

Désolé pour le spam, j&#039;essaye de reposter en échappant les balises :

Salut !

Je débute en groovy, mais voilà comment j&#039;aurais fait :
(mais il y a surement plus groovy ...)

&lt;pre&gt;&lt;code&gt;
def file = new File(&quot;/home/raf/test.xml&quot;)
def root=new XmlSlurper().parse(file)

def title = root.channel[&#039;title&#039;]

println &quot;&lt;html&gt;&quot;
println &quot;&lt;head&gt;&quot;
println &quot;&lt;title&gt; $title articles &lt;/title&gt;&quot;
println &quot;&lt;meta  http-equiv=&#039;Content-Type&#039; content=&#039;text/html; charset=UTF-8&#039;/&gt;\n&quot;
println &quot;&lt;body&gt;&quot;

// Les articles
root.channel.item.each{it-&gt;
    if(it.post_type.text.equals(&quot;post&quot;)){
        if(it.status.text.equals(&quot;publish&quot;)){
            href = it.link
            title = it.title
            date = it.pubDate
            println &quot;&lt;a href=&#039;$href&#039; target=&#039;new&#039;&gt;$title&lt;/a&gt; publié le $date&lt;/br&gt;&quot;
        }
    }
}

println &quot;&lt;/body&gt;&quot;
println &quot;&lt;/html&gt;&quot;
&lt;/code&gt;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Woops, ça ne le fait pas du tout les balises html dans les commentaires <img src='http://www.touilleur-express.fr/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Désolé pour le spam, j&#8217;essaye de reposter en échappant les balises :</p>
<p>Salut !</p>
<p>Je débute en groovy, mais voilà comment j&#8217;aurais fait :<br />
(mais il y a surement plus groovy &#8230;)</p>
<pre><code>
def file = new File("/home/raf/test.xml")
def root=new XmlSlurper().parse(file)

def title = root.channel['title']

println "&lt;html&gt;"
println "&lt;head&gt;"
println "&lt;title&gt; $title articles &lt;/title&gt;"
println "&lt;meta  http-equiv='Content-Type' content='text/html; charset=UTF-8'/&gt;\n"
println "&lt;body&gt;"

// Les articles
root.channel.item.each{it-&gt;
    if(it.post_type.text.equals("post")){
        if(it.status.text.equals("publish")){
            href = it.link
            title = it.title
            date = it.pubDate
            println "&lt;a href='$href' target='new'&gt;$title&lt;/a&gt; publié le $date&lt;/br&gt;"
        }
    }
}

println "&lt;/body&gt;"
println "&lt;/html&gt;"
</code></pre>
]]></content:encoded>
	</item>
</channel>
</rss>

