Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [SQL SERVER] Lettura dei nodi di un campo/file xml con .nodes()

    Ciao a tutti ho questa problematica... ho un file XML salvato dentro un database SQL SERVER in un campo xml con questa struttura

    codice:
    <Nodo>
      <Prova>
        <TipoRecord>1</TipoRecord>
        <Pippo>
          <Progressivo>14</Progressivo>
          <TipoRigo>9</TipoRigo>
        </Pippo>
        <Pippo>
          <Progressivo>2</Progressivo>
          <TipoRigo>0</TipoRigo>
        </Pippo>
      </Prova>
      <Prova>
        <TipoRecord>2</TipoRecord>
        <Pippo>
          <Progressivo>14</Progressivo>
          <TipoRigo>9</TipoRigo>
        </Pippo>
        <Pippo>
          <Progressivo>2</Progressivo>
          <TipoRigo>0</TipoRigo>
        </Pippo>
      </Prova>
    </Nodo>
    Per ottenere i valori dei nodi nei cicli <Prova> uso .nodes() per esempio così:

    codice:
    SELECT Test.value('(TipoRecord/text())[1]', 'int') as TipoRecord
    FROM @xmlIn.nodes('/Nodo/Prova') AS N(Test)
    ma come posso ottenere i value di "pippo" che è a sua volta un ciclo di un ciclo ovvero "prova"?

    grazie a tutti per l'aiuto

  2. #2
    Ho trovato la soluzione e la scrivo qua per i posteri:

    codice:
    SELECT 
      Test.value('(TipoRecord/text())[1]', 'int') as TipoRecord,
      Pippo.value('(Progressivo/text())[1]', 'int') as Pippo_Progressivo
    FROM @xmlIn.nodes('/Nodo/Prova') AS N(Test)
    CROSS APPLY N.Test.nodes('Pippo')  as N2(Pippo)
    bye

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.