[mssql] meerdere dezelfde elementen met OPENXML

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Hey hallo,

Ik heb een probleempje met MSSQL's geniale OPENXML clause. Ik zet er een XML bestand in waarin een bepaalde element meerdere keren mag voorkomen, maar waarvan de waarden uiteraard in verschillende velden moet komen te staan.
Hier dan het XML-bestand ter illustratrie:
code:
1
2
3
4
5
6
<?xml version="1.0"?>
<hoofdelement>
   <element>test1</element>
   <element>test2</element>
   <element>test3</element>
</hoofdelement>

En van de query die ik gebruik, zou je verwachten dat is zo goed is (gegeven dat @hDoc al de handle naar de XML file bevat):
code:
1
2
3
4
5
6
SELECT * FROM OPENXML(@hDoc, '/hoofdelement')
WITH (
   veld1 varchar(20) 'element',
   veld2 varchar(20) 'element',
   veld3 varchar(20) 'element'
)


Het probleem: ik krijg nu een tabel terug met in de velden veld1, veld2 en veld3 de waarde van het eerste element, terwijl je dat niet zou verwachten.

De vraag: hoe kan ik de waarden van deze drie velden met de openxml clause (of met een andere eenvoudige manier) toch in de juiste velden in de teruggegeven tabel krijgen?

Ik heb al geprobeerd om een temp tabel te maken en handmatig alle gelijke elementen uit te pluizen, maar handig is het niet en ook zeker niet snel :/

日本!🎌


  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Dat heeft te maken met de structuur van je xml bestand.
Ik ben er ook wel eens uitgebreid mee bezig geweest, maar heb tot nu toe geen andere oplossing kunnen vinden, dan het aanpassen van het xml bestand.
Tja, het is soms best lastig als Microsoft over sommige dingen anders denkt dan wij.

Never underestimate the power of


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
*schop*

Niemand dit ooit es gedaan met OPENXML?

日本!🎌