<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: Mikewilsonuk's Code Snippets</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sat, 26 Jul 2008 15:50:28 GMT</pubDate>
    <description>DZone Snippets: Mikewilsonuk's Code Snippets</description>
    <item>
      <title>'ant' build file for HelloWorldServlet and JettyLauncher</title>
      <link>http://snippets.dzone.com/posts/show/4096</link>
      <description>A pretty straightforward 'ant' build file. You will need to edit the jetty.home property to indicate where you installed Jetty.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;project basedir="." default="compile" name="hello-servlet"&gt;&lt;br /&gt;  &lt;property name="build.dir"	location="classes" /&gt;&lt;br /&gt;  &lt;property name="src.dir"	location="src/main/java" /&gt;&lt;br /&gt;  &lt;property name="jetty.home"	location="/home/mrw/projects/jetty-6.1.3" /&gt;&lt;br /&gt;  &lt;property name="jetty.lib"	location="${jetty.home}/lib" /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;path id="jetty.lib.path"&gt;&lt;br /&gt;    &lt;pathelement path="${jetty.lib}/jetty-6.1.3.jar" /&gt;&lt;br /&gt;    &lt;pathelement path="${jetty.lib}/jetty-util-6.1.3.jar" /&gt;&lt;br /&gt;    &lt;pathelement path="${jetty.lib}/servlet-api-2.5-6.1.3.jar" /&gt;&lt;br /&gt;  &lt;/path&gt;&lt;br /&gt;&lt;br /&gt;  &lt;target name="compile" description="Compile the project"&gt;&lt;br /&gt;    &lt;mkdir dir="${build.dir}" /&gt;&lt;br /&gt;    &lt;javac debug="true" destdir="${build.dir}" srcdir="${src.dir}"&lt;br /&gt;	classpathref="jetty.lib.path"&gt;&lt;br /&gt;      &lt;compilerarg value="-Xlint:unchecked" /&gt;&lt;br /&gt;      &lt;compilerarg value="-Xlint:deprecation" /&gt;&lt;br /&gt;    &lt;/javac&gt;&lt;br /&gt;  &lt;/target&gt;&lt;br /&gt;&lt;br /&gt;  &lt;target name="all"  depends="clean,compile"&lt;br /&gt;      description="Recompile from scratch"/&gt;&lt;br /&gt;&lt;br /&gt;  &lt;target name="server" depends="compile" description="Launch the server"&gt;&lt;br /&gt;    &lt;java classname="com.babblemind.JettyLauncher" fork="true"&lt;br /&gt;	classpathref="jetty.lib.path"&gt;&lt;br /&gt;      &lt;classpath&gt;&lt;br /&gt;	&lt;pathelement path="${build.dir}" /&gt;&lt;br /&gt;      &lt;/classpath&gt;&lt;br /&gt;    &lt;/java&gt;&lt;br /&gt;  &lt;/target&gt;&lt;br /&gt;&lt;br /&gt;  &lt;target name="clean" description="Delete all files created by compile"&gt;&lt;br /&gt;    &lt;delete dir="${build.dir}" /&gt;&lt;br /&gt;    &lt;delete dir="docs/api" /&gt;&lt;br /&gt;  &lt;/target&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 02 Jun 2007 11:15:45 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4096</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Minimal Java servlet</title>
      <link>http://snippets.dzone.com/posts/show/4095</link>
      <description>There is nothing particularly original here -- there are variations of this all over the place. This works nicely with my JettyLauncher class (see my other posts on DZone Snippets).&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;package com.babblemind;&lt;br /&gt;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.PrintWriter;&lt;br /&gt;&lt;br /&gt;public class HelloWorldServlet extends HttpServlet{&lt;br /&gt;    protected void doGet(HttpServletRequest httpServletRequest,&lt;br /&gt;	HttpServletResponse httpServletResponse)&lt;br /&gt;	    throws ServletException, IOException {&lt;br /&gt;&lt;br /&gt;        httpServletResponse.setContentType("text/plain");&lt;br /&gt;        PrintWriter out = httpServletResponse.getWriter();&lt;br /&gt;        out.println("Hello World!");&lt;br /&gt;        out.close();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 02 Jun 2007 11:13:54 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4095</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Minimal Jetty http server with Java servlet</title>
      <link>http://snippets.dzone.com/posts/show/4094</link>
      <description>This will start a Jetty http server with a single Java servlet at the root. See http://www.mortbay.org/ for Jetty downloads. This needs HelloWorldServlet from one of my other posts. Make life easier by downloading my ant build.xml as well.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;package com.babblemind;&lt;br /&gt;&lt;br /&gt;import org.mortbay.jetty.Server;&lt;br /&gt;import org.mortbay.jetty.servlet.Context;&lt;br /&gt;import org.mortbay.jetty.servlet.ServletHolder;&lt;br /&gt;&lt;br /&gt;public class JettyLauncher {&lt;br /&gt;    public static void main(String[] args) throws Exception {&lt;br /&gt;	Server server = new Server(8080);    &lt;br /&gt;	Context root = new Context(server, "/", Context.SESSIONS);&lt;br /&gt;	root.addServlet(new ServletHolder(new HelloWorldServlet()), "/*");&lt;br /&gt;	server.start();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 02 Jun 2007 11:11:50 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4094</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>php image from database using PEAR::DB</title>
      <link>http://snippets.dzone.com/posts/show/3730</link>
      <description>This fetches an image from a MySQL database (I know, a database may not be the best place to keep images). The image is sent to the web client as an image/jpeg.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;require_once 'DB.php';&lt;br /&gt;&lt;br /&gt;define('DB_SERVER', 'localhost');&lt;br /&gt;define('DB_USER', 'php');&lt;br /&gt;define('DB_PASS', '');&lt;br /&gt;define('DB_DATABASE', 'images');&lt;br /&gt;define('DSN', 'mysql://'.DB_USER.':'.DB_PASS.'@'.DB_SERVER.'/'.DB_DATABASE);&lt;br /&gt;&lt;br /&gt;global $db;&lt;br /&gt;$db = DB::connect(DSN);&lt;br /&gt;&lt;br /&gt;if (PEAR::isError($db)) {&lt;br /&gt;    die($db-&gt;getMessage());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (isset($_GET['id'])) {&lt;br /&gt;  header('Content-Type: image/jpeg');&lt;br /&gt;  $id = $_GET['id'];&lt;br /&gt;  $sql = "select image_data from images where id = ?";&lt;br /&gt;  $result =&amp; $db-&gt;query($sql, $id);&lt;br /&gt;&lt;br /&gt;  if (PEAR::isError($result)) {&lt;br /&gt;    die($result-&gt;getMessage());&lt;br /&gt;  } else {&lt;br /&gt;    if ($result-&gt;fetchInto($row)) {&lt;br /&gt;      echo $row[0];&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;} else {&lt;br /&gt;  echo file_get_contents('broken.png');&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 26 Mar 2007 08:16:22 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3730</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Very simple php file upload</title>
      <link>http://snippets.dzone.com/posts/show/3729</link>
      <description>I think this is the minimum necessary to upload a file in php. First, the form, index.php:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;form enctype="multipart/form-data" action="upload.php" method="POST"&gt;&lt;br /&gt;    &lt;input type="hidden" name="MAX_FILE_SIZE" value="512000" /&gt;&lt;br /&gt;    Send this file: &lt;input name="userfile" type="file" /&gt;&lt;br /&gt;    &lt;input type="submit" value="Send File" /&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Next, the php to accept the file, upload.php&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;$uploaddir = '/var/www/uploads/';&lt;br /&gt;$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);&lt;br /&gt;&lt;br /&gt;echo "&lt;p&gt;";&lt;br /&gt;&lt;br /&gt;if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {&lt;br /&gt;  echo "File is valid, and was successfully uploaded.\n";&lt;br /&gt;} else {&lt;br /&gt;   echo "Upload failed";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;echo "&lt;/p&gt;";&lt;br /&gt;echo '&lt;pre&gt;';&lt;br /&gt;echo 'Here is some more debugging info:';&lt;br /&gt;print_r($_FILES);&lt;br /&gt;print "&lt;/pre&gt;";&lt;br /&gt;&lt;br /&gt;?&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Mon, 26 Mar 2007 08:00:34 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3729</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Add a jar file to Java load path at run time</title>
      <link>http://snippets.dzone.com/posts/show/3574</link>
      <description>Sometimes it is necessary to amend the class load path at run time. For example, dynamically adding jar files containing user-configurable JDBC data sources. The way this is done is truly monstrous -- the URL Path format was only revealed when a colleague looked into the Java library sources.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import java.net.URL;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.URLClassLoader;&lt;br /&gt;import java.net.MalformedURLException;&lt;br /&gt;&lt;br /&gt;public class JarFileLoader extends URLClassLoader&lt;br /&gt;{&lt;br /&gt;    public JarFileLoader (URL[] urls)&lt;br /&gt;    {&lt;br /&gt;        super (urls);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void addFile (String path) throws MalformedURLException&lt;br /&gt;    {&lt;br /&gt;        String urlPath = "jar:file://" + path + "!/";&lt;br /&gt;        addURL (new URL (urlPath));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static void main (String args [])&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            System.out.println ("First attempt...");&lt;br /&gt;            Class.forName ("org.gjt.mm.mysql.Driver");&lt;br /&gt;        }&lt;br /&gt;        catch (Exception ex)&lt;br /&gt;        {&lt;br /&gt;            System.out.println ("Failed.");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            URL urls [] = {};&lt;br /&gt;&lt;br /&gt;            JarFileLoader cl = new JarFileLoader (urls);&lt;br /&gt;            cl.addFile ("/opt/mysql-connector-java-5.0.4/mysql-connector-java-5.0.4-bin.jar");&lt;br /&gt;            System.out.println ("Second attempt...");&lt;br /&gt;            cl.loadClass ("org.gjt.mm.mysql.Driver");&lt;br /&gt;            System.out.println ("Success!");&lt;br /&gt;        }&lt;br /&gt;        catch (Exception ex)&lt;br /&gt;        {&lt;br /&gt;            System.out.println ("Failed.");&lt;br /&gt;            ex.printStackTrace ();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 23 Feb 2007 15:24:18 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3574</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Simple Ruby ActiveRecord example</title>
      <link>http://snippets.dzone.com/posts/show/3097</link>
      <description>Using Ruby ActiveRecord with an in-memory SQLite database. A nice simple example of this wonderful library.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'active_record'&lt;br /&gt;&lt;br /&gt;ActiveRecord::Base.logger = Logger.new(STDERR)&lt;br /&gt;ActiveRecord::Base.colorize_logging = false&lt;br /&gt;&lt;br /&gt;ActiveRecord::Base.establish_connection(&lt;br /&gt;    :adapter =&gt; "sqlite3",&lt;br /&gt;    :dbfile  =&gt; ":memory:"&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;ActiveRecord::Schema.define do&lt;br /&gt;    create_table :albums do |table|&lt;br /&gt;        table.column :title, :string&lt;br /&gt;        table.column :performer, :string&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    create_table :tracks do |table|&lt;br /&gt;        table.column :album_id, :integer&lt;br /&gt;        table.column :track_number, :integer&lt;br /&gt;        table.column :title, :string&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;class Album &lt; ActiveRecord::Base&lt;br /&gt;    has_many :tracks&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;class Track &lt; ActiveRecord::Base&lt;br /&gt;    belongs_to :album&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;album = Album.create(:title =&gt; 'Black and Blue',&lt;br /&gt;    :performer =&gt; 'The Rolling Stones')&lt;br /&gt;album.tracks.create(:track_number =&gt; 1, :title =&gt; 'Hot Stuff')&lt;br /&gt;album.tracks.create(:track_number =&gt; 2, :title =&gt; 'Hand Of Fate')&lt;br /&gt;album.tracks.create(:track_number =&gt; 3, :title =&gt; 'Cherry Oh Baby ')&lt;br /&gt;album.tracks.create(:track_number =&gt; 4, :title =&gt; 'Memory Motel ')&lt;br /&gt;album.tracks.create(:track_number =&gt; 5, :title =&gt; 'Hey Negrita')&lt;br /&gt;album.tracks.create(:track_number =&gt; 6, :title =&gt; 'Fool To Cry')&lt;br /&gt;album.tracks.create(:track_number =&gt; 7, :title =&gt; 'Crazy Mama')&lt;br /&gt;album.tracks.create(:track_number =&gt; 8,&lt;br /&gt;    :title =&gt; 'Melody (Inspiration By Billy Preston)')&lt;br /&gt;&lt;br /&gt;album = Album.create(:title =&gt; 'Sticky Fingers',&lt;br /&gt;    :performer =&gt; 'The Rolling Stones')&lt;br /&gt;album.tracks.create(:track_number =&gt; 1, :title =&gt; 'Brown Sugar')&lt;br /&gt;album.tracks.create(:track_number =&gt; 2, :title =&gt; 'Sway')&lt;br /&gt;album.tracks.create(:track_number =&gt; 3, :title =&gt; 'Wild Horses')&lt;br /&gt;album.tracks.create(:track_number =&gt; 4,&lt;br /&gt;    :title =&gt; 'Can\'t You Hear Me Knocking')&lt;br /&gt;album.tracks.create(:track_number =&gt; 5, :title =&gt; 'You Gotta Move')&lt;br /&gt;album.tracks.create(:track_number =&gt; 6, :title =&gt; 'Bitch')&lt;br /&gt;album.tracks.create(:track_number =&gt; 7, :title =&gt; 'I Got The Blues')&lt;br /&gt;album.tracks.create(:track_number =&gt; 8, :title =&gt; 'Sister Morphine')&lt;br /&gt;album.tracks.create(:track_number =&gt; 9, :title =&gt; 'Dead Flowers')&lt;br /&gt;album.tracks.create(:track_number =&gt; 10, :title =&gt; 'Moonlight Mile')&lt;br /&gt;&lt;br /&gt;puts Album.find(1).tracks.length&lt;br /&gt;puts Album.find(2).tracks.length&lt;br /&gt;&lt;br /&gt;puts Album.find_by_title('Sticky Fingers').title&lt;br /&gt;puts Track.find_by_title('Fool To Cry').album_id&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 06 Dec 2006 15:57:18 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3097</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Very simple script using Dojo widget and I/O</title>
      <link>http://snippets.dzone.com/posts/show/2851</link>
      <description>&lt;a href="http://dojotoolkit.org/"&gt;Dojo&lt;/a&gt; is a Java Script toolkit. This is a minimal HTML page which uses a widget and talks to the server. This is based on the Dojo tutorial at &lt;a href="http://dojo.jot.com/WikiHome/Tutorials/HelloWorld"&gt;JotSpot&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;html&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;  &lt;title&gt;Dojo: Hello World!&lt;/title&gt;&lt;br /&gt;&lt;br /&gt;  &lt;script type="text/javascript" src="/js/dojo/dojo.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;  &lt;script type="text/javascript"&gt;&lt;br /&gt;    dojo.require("dojo.event.*");&lt;br /&gt;    dojo.require("dojo.widget.*");&lt;br /&gt;    dojo.require("dojo.widget.Button");&lt;br /&gt;&lt;br /&gt;    function helloPressed()&lt;br /&gt;    {&lt;br /&gt;        dojo.io.bind({&lt;br /&gt;                       url: '/cgi-bin/HelloWorldResponsePOST.rb',&lt;br /&gt;                       handler: helloCallback,&lt;br /&gt;                       formNode: dojo.byId('myForm')&lt;br /&gt;                    });&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function init()&lt;br /&gt;    {&lt;br /&gt;      var helloButton = dojo.widget.byId('helloButton');&lt;br /&gt;      dojo.event.connect(helloButton, 'onClick', 'helloPressed')&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function errorCallback(type, error)&lt;br /&gt;    {&lt;br /&gt;        alert(error)&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function helloCallback(type, data, evt)&lt;br /&gt;    {&lt;br /&gt;      if (type == 'error')&lt;br /&gt;        alert('Error when retrieving data from the server!');&lt;br /&gt;      else&lt;br /&gt;        alert(data);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    dojo.addOnLoad(init);&lt;br /&gt;  &lt;/script&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;  &lt;button dojoType="Button" widgetId="helloButton"&gt;Hello World!&lt;/button&gt;&lt;br /&gt;  &lt;br&gt;&lt;br /&gt;&lt;br /&gt;  &lt;form id="myForm" method="POST"&gt;&lt;br /&gt;    Please enter your name: &lt;input type="text" name="name"&gt;&lt;br /&gt;  &lt;/form&gt;&lt;br /&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 17 Oct 2006 18:46:31 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2851</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Very basic lighttpd configuration</title>
      <link>http://snippets.dzone.com/posts/show/2850</link>
      <description>The configuration of lighttpd is vast and complex. Here is a close to minimal configuration which allows for Perl and Ruby CGI.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;server.document-root = "/opt/lighttpd/htdocs"&lt;br /&gt;&lt;br /&gt;server.port = 3000&lt;br /&gt;&lt;br /&gt;mimetype.assign = (&lt;br /&gt;  ".html" =&gt; "text/html",&lt;br /&gt;  ".txt" =&gt; "text/plain",&lt;br /&gt;  ".jpg" =&gt; "image/jpeg",&lt;br /&gt;  ".png" =&gt; "image/png"&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;static-file.exclude-extensions = ( ".rb", ".pl", ".fcgi", ".php", ".rb", "~", ".inc" )&lt;br /&gt;index-file.names = ( "index.html" )&lt;br /&gt;server.modules += ( "mod_cgi" )&lt;br /&gt;&lt;br /&gt;cgi.assign = (  ".rb" =&gt; "/opt/ruby/bin/ruby",&lt;br /&gt;                ".pl" =&gt; "/usr/bin/perl")&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 17 Oct 2006 18:44:34 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2850</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
    <item>
      <title>Very basic Ruby XML parse</title>
      <link>http://snippets.dzone.com/posts/show/2359</link>
      <description>Tiny code fragment which loads configuration options from an XML file.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require "rexml/document"&lt;br /&gt;&lt;br /&gt;doc = REXML::Document.new File.new("dbiconfig.xml")&lt;br /&gt;configuration = doc.elements["configuration"]&lt;br /&gt;database = configuration.elements["database"]&lt;br /&gt;url = database.elements["url"].attributes["value"]&lt;br /&gt;puts url&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 03 Aug 2006 16:11:13 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2359</guid>
      <author>mikewilsonuk (Mike Wilson)</author>
    </item>
  </channel>
</rss>
