Re: XML? - Mailing list pgsql-general

From Jonathan Bartlett
Subject Re: XML?
Date
Msg-id Pine.GSU.4.44.0308080626290.26566-100000@eskimo.com
Whole thread Raw
In response to Re: XML?  ("Gavin M. Roy" <gmr@justsportsusa.com>)
List pgsql-general
What would be really cool (although a lot harder to implement) would be
the ability to generate a hierarchical XML document when using foreign key
relationships.  Trying to tell PG how to format that might be a bit of an
issue, though.

Jon

On Thu, 7 Aug 2003, Gavin M. Roy wrote:

> Add an
>   echo $returnData
> right after the pg_Close or it wont output the data...   in response to
> your followup, I doubt it would be hard to implement something similar
> in java, it's just using the standard pg api to build the xml.
>
> Gavin
>
> Gavin M. Roy wrote:
>
> > Here's some PHP code I use to do just that:
> >
> > <xml version="1.0">
> > <?php
> >  function returnRecord($resultid, $row, $level) {
> >    $prepend = "";
> >    for ( $y = 0; $y < $level; $y++ )
> >      $prepend .= "\t";
> >
> >    $record = $prepend . "<RECORD>\n";
> >    for ( $y = 0; $y < pg_NumFields($resultid); $y++ ) {
> >      $record .= $prepend . "\t<" . pg_FieldName($resultid, $y) . ">";
> >      $data =  Trim(pg_Result($resultid, $row, $y));
> >      $data = ereg_replace("&", "&", $data);
> >      $record .= $data;
> >      $record .= "</" . pg_FieldName($resultid, $y) . ">\n";
> >    }
> >    $record .= $prepend . "</RECORD>\n";
> >    return $record;
> >  }
> >
> >  $conn = pg_Connect("my database connect string");
> >  $result = pg_Query($conn, "SELECT * FROM MY_TABLE;");
> >  $returnData = "";
> >  $rows = pg_NumRows($result);
> >  for ( $y = 0; $y < $rows; $y++ )
> >    $returnData .= returnRecord($result, $y, 1);
> >  pg_FreeResult($result);
> >  pg_Close($conn);
> > ?>
> > </xml>
> >
> > Hope this helps,
> >
> > Gavin
> >
> > Bjorn T Johansen wrote:
> >
> >> I need to convert recordsets to XML, is there an automatic way to do
> >> this
> >> in PostgreSQL or a tool I can use? Or do I have to code this manually?
> >>
> >>
> >> Regards,
> >>
> >> BTJ
> >>
> >>
> >> -----------------------------------------------------------------------------------------------
> >>
> >> Bj�rn T Johansen (BSc,MNIF)
> >> Executive Manager
> >> btj@havleik.no                  Havleik Consulting
> >> Phone : +47 67 54 15 17         Conradisvei 4
> >> Fax : +47 67 54 13 91           N-1338 Sandvika
> >> Cellular : +47 926 93 298       http://www.havleik.no
> >> -----------------------------------------------------------------------------------------------
> >>
> >> "The stickers on the side of the box said "Supported Platforms: Windows
> >> 98, Windows NT 4.0,
> >> Windows 2000 or better", so clearly Linux was a supported platform."
> >> -----------------------------------------------------------------------------------------------
> >>
> >>
> >>
> >> ---------------------------(end of broadcast)---------------------------
> >> TIP 4: Don't 'kill -9' the postmaster
> >>
> >>
> >
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 8: explain analyze is your friend
> >
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>


pgsql-general by date:

Previous
From: Chris Webster
Date:
Subject: Re: postmaster(s) have high load average
Next
From: Martin Hart
Date:
Subject: strategies for optimising common lookups etc