From: | Ian Harding <iharding(at)tpchd(dot)org> |
---|---|
To: | Bjorn T Johansen <btj(at)havleik(dot)no> |
Cc: | "Gavin M(dot) Roy" <gmr(at)justsportsusa(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: XML? |
Date: | 2003-08-08 07:57:51 |
Message-ID: | 3F3357FF.50007@tpchd.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
It might not help in this case anyway, but it seems like the psql \H
(toggle html output) could be a starting point* for a \X (toggle XML
output) to provide a minimal XML implementation for output.
* For someone smarter than me.
Bjorn T Johansen wrote:
>Well, it helps a little (I don't have to think that much on how to
>implement the code, which is java btw... :) )
>But I was kinda hoping for a feature like the one that Oracle has, where I
>can tell Oracle that I want the resultset from the query to be returned as
>XML. (If this is not a feature in PostgreSQL maybe it should be?)
>
>
>BTJ
>
>
>
>>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(at)havleik(dot)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 4: Don't 'kill -9' the postmaster
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Weiping He | 2003-08-08 08:19:16 | Re: compile error of 7.4 beta1 on AIX 4.3.3 |
Previous Message | Gavin M. Roy | 2003-08-08 05:31:42 | Re: XML? |