Avatar billede pgroen Nybegynder
27. september 2005 - 16:01 Der er 4 kommentarer og
1 løsning

XMLELEMENT genererer uønskede whitespaces

Jeg er ved at lave en applikation der genererer XML-data ved hjælp af XMLELEMENT, XMLCONCAT osv.

mit problem er, at der opstår 'tilfældige' mellemrum og line-feeds op hist og her...

Eksempel:

SELECT XMLELEMENT ("Text",
                  'en tekst',
                  XMLELEMENT ("Subtext",
                              'en anden tekst'
                              )
                  )
  FROM DUAL;

giver:

<Text>en tekst  <Subtext>en anden tekst</Subtext>
</Text>

Hvordan slipper jeg af med de to ekstra spaces efter 'en tekst' ?

(Og nej, trim duer ikke :-)
Avatar billede pnielsen Nybegynder
30. september 2005 - 14:15 #1
Hmmm.. Tror det måske er fordi du køre base release af 9i ?

Hvilken version af Oracle bruger du ? Har prøvet at genskabe uden held på 9.2.0.5 og 9.2.0.7 med en 9.2.0.7 klient. 10G klienten driller mig til gengæld ;-)

SQL*Plus: Release 9.2.0.7.0 - Production on Fri Sep 30 14:12:39 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production


oradev SYS> SELECT XMLELEMENT ("Text",
  2                    'en tekst',
  3                    XMLELEMENT ("Subtext",
  4                                'en anden tekst'
  5                                )
  6                    )
  7    FROM DUAL;

XMLELEMENT(TEXT,'ENTEKST',X
--------------------------------------------------------------------------------
<Text>en tekst<Subtext>en anden tekst</Subtext></Text>

oradev SYS>

Hvor 10G klient mod samme DV giver mig:

SQL*Plus: Release 10.1.0.2.0 - Production on Fri Sep 30 14:16:47 2005

Copyright (c) 1982, 2004, Oracle.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production


oradev SYS> SELECT XMLELEMENT ("Text",
  2                    'en tekst',
  3                    XMLELEMENT ("Subtext",
  4                                'en anden tekst'
  5                                )
  6                    )
  7  FROM DUAL;

XMLELEMENT(TEXT,'ENTEKST',X
----------------------------------------------------------------------------------------------------
㰀吀攀砀琀㸀攀渀 琀攀欀猀琀㰀匀甀戀琀攀砀琀㸀攀渀 

oradev SYS>
Avatar billede pnielsen Nybegynder
30. september 2005 - 14:17 #2
Fandt lige et godt råd på metalink når man snakker XMLELEMENT ->
You have to use at least version 9.2.0.3 of SQL*Plus
Avatar billede pgroen Nybegynder
30. september 2005 - 14:38 #3
Interessant; Basen er en 9.2.0.6.0, men klienten er en 9.2.0.1.0
Jeg prøver lige at smække en nyere klient på, og ser hvad der sker...

Har du forresten en doc-id på MetaLink, hvad angår det gode råd?
Avatar billede pnielsen Nybegynder
30. september 2005 - 19:49 #4
Yep - Prøv at søge på strengen "You have to use at least version 9.2.0.3 of SQL*Plus"
Det er en forum artikel det nævnes i - 511364.995

Er først på nettet mandag igen - lad mig høre hvad du finder ud af... Spændende.
Avatar billede pgroen Nybegynder
03. oktober 2005 - 09:32 #5
Se, Se:

(Men jeg vil nu også lige prøve at forske videre i dine 10g drillerier...)


SQL*Plus: Release 9.2.0.4.0 - Production on Man Okt 3 09:27:58 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Forbindelse er oprettet til :
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

SQL> SELECT XMLELEMENT ("Text",
  2                    'en tekst',
  3                    XMLELEMENT ("Subtext",
  4                                'en anden tekst'
  5                                )
  6                    )
  7    FROM DUAL;

XMLELEMENT("TEXT",'ENTEKST',XMLELEMENT("SUBTEXT",'ENANDENTEKST'))
---------------------------------------------------------------------
<Text>en tekst<Subtext>en anden tekst</Subtext></Text>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester