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

    da db a file XML: domanda...

    ho una query del tipo:
    SELECT autori.*, opere.* FROM autori INNER JOIN opere ON autori.IDAutore = opere.Autore

    (potete immaginarvi com'è strutturato comq: AUTORI(IDAutore-PK-, Nome, Cognome, Nascita) - OPERE(IDOpera, Titolo, Autore -FK-))

    bene, esportando il dataset in un file xml ottengo una struttura del tipo:

    codice:
    <Autori>
      <Autore>
        <IDAutore>3</IDAutore>
        <Nome>Italo     </Nome>
        <Cognome>Calvino   </Cognome>
        <Nascita>1923-03-25T00:00:00.0000000+01:00</Nascita>
        <IDOpera>1</IDOpera>
        <Titolo>Il visconte dimezzato</Titolo>
        <Autore>3</Autore>
      </Autore>
      <Autore>
        <IDAutore>3</IDAutore>
        <Nome>Italo     </Nome>
        <Cognome>Calvino   </Cognome>
        <Nascita>1923-03-25T00:00:00.0000000+01:00</Nascita>
        <IDOpera>2</IDOpera>
        <Titolo>Il barone rampante</Titolo>
        <Autore>3</Autore>
      </Autore>
      <Autore>
        <IDAutore>3</IDAutore>
        <Nome>Italo     </Nome>
        <Cognome>Calvino   </Cognome>
        <Nascita>1923-03-25T00:00:00.0000000+01:00</Nascita>
        <IDOpera>3</IDOpera>
        <Titolo>Cavaliere inesistente</Titolo>
        <Autore>3</Autore>
      </Autore>
    </Autori>
    io vorrei invece che in caso ad un autore corrispondessero + opere (in questo caso 3), l'elemento <Autore> non fosse ripetuto 3 volte bensì 1, e il file XML avesse un struttura di questo tipo:

    codice:
    <Autori>
      <Autore>
        <IDAutore>3</IDAutore>
        <Nome>Italo     </Nome>
        <Cognome>Calvino   </Cognome>
        <Nascita>1923-03-25T00:00:00.0000000+01:00</Nascita>
        <IDOpera>1</IDOpera>
        <Titolo>Il visconte dimezzato</Titolo>
        <Autore>3</Autore>
        <Opere>
           <Opera>
              <IDOpera>1</IDOpera>
              <Titolo>Il visconte dimezzato</Titolo> 
           </Opera> 
           <Opera>  
              <IDOpera>2</IDOpera>
              <Titolo>Il barone rampante</Titolo>
           </Opera> 
           <Opera>  
              <IDOpera>3</IDOpera>
              <Titolo>Cavaliere inesistente</Titolo>
           </Opera> 
        </Opere>
      </Autore>
    </Autori>
    spero di essere stato abbastanza comprensibile... :master:
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  2. #2
    nessuno sa niente?
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  3. #3
    :quote:
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.