arconotto
15-11-2011, 09:59
Ciao a tutti,
ho un xml da cui vorrei estrarre dei dati ma non riesco.
Allego sotto il codice che utilizzo e che mi restituisce la colonna pod sempre con valori NULL, qualcuno mi sa spiegare il perchè?
Grazie mille
Nicola
DECLARE @xmlDoc xml/* Carico l'intero file XML in una variabile XML */
SET @xmlDoc = '
<edi_l>
<trader cdisp="DP1825">
<idimpp num="008701295368">
<hdr>
<odn>1234567891234</odn>
<pod>IT001E12345678</pod>
<presa>23240412345678</presa>
<cf> </cf>
<piva>12345678912</piva>
<tdoc>G</tdoc>
<dat>01.10.2011</dat>
<potf>0000016.5</potf>
<potd>000000016.5</potd>
<ta>0000380</ta>
<opz>BTA</opz>
<potm>C</potm>
<potmax>000015.0</potmax>
<abc>09.2011</abc>
<bisc>09.2011</bisc>
<tf>0000000000100.00</tf>
<iauc>000000020.00</iauc>
<icf>000000000.10</icf>
<imis>00000009.90</imis>
<ipot>000000040.00</ipot>
<idis>000000020.00</idis>
<itras>000000010.00</itras>
</hdr>
<dev>
<abd>01.09.2011</abd>
<bisd>30.09.2011</bisd>
<mm>01051234</mm>
<tm>Cont.Elettronico</tm>
<nca>06.00</nca>
<nf>3</nf>
<k1>0000001.000</k1>
<lett>
<lea>
<dlea>30.09.2011</dlea>
<lat>000022768.000000</lat>
<tla>L2</tla>
<dlep>31.08.2011</dlep>
<lpr>000021940.000000</lpr>
<fascial>F1</fascial>
</lea>
<lea>
<dlea>30.09.2011</dlea>
<lat>000008424.000000</lat>
<tla>L2</tla>
<dlep>31.08.2011</dlep>
<lpr>000008073.000000</lpr>
<fascial>F2</fascial>
</lea>
<lea>
<dlea>30.09.2011</dlea>
<lat>000020024.000000</lat>
<tla>L2</tla>
<dlep>31.08.2011</dlep>
<lpr>000019457.000000</lpr>
<fascial>F3</fascial>
</lea>
</lett>
</dev>
<ea>
<ab>01.09.11</ab>
<bis>30.09.11</bis>
<qta>000001746.0</qta>
<fascia>F3</fascia>
</ea>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>01</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>02</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>03</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>04</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>05</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>06</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>07</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>08</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>09</mese>
</pot>
</idimpp>
</trader>
</edi_l>'
select @xmldoc
select mycolumn.value( '@num', 'varchar(200)') as idfattura,
mycolumn.value( '../@pod', 'varchar(200)') as pod
from @xmldoc.nodes('/edi_l/trader/idimpp') as mytable(mycolumn)
ho un xml da cui vorrei estrarre dei dati ma non riesco.
Allego sotto il codice che utilizzo e che mi restituisce la colonna pod sempre con valori NULL, qualcuno mi sa spiegare il perchè?
Grazie mille
Nicola
DECLARE @xmlDoc xml/* Carico l'intero file XML in una variabile XML */
SET @xmlDoc = '
<edi_l>
<trader cdisp="DP1825">
<idimpp num="008701295368">
<hdr>
<odn>1234567891234</odn>
<pod>IT001E12345678</pod>
<presa>23240412345678</presa>
<cf> </cf>
<piva>12345678912</piva>
<tdoc>G</tdoc>
<dat>01.10.2011</dat>
<potf>0000016.5</potf>
<potd>000000016.5</potd>
<ta>0000380</ta>
<opz>BTA</opz>
<potm>C</potm>
<potmax>000015.0</potmax>
<abc>09.2011</abc>
<bisc>09.2011</bisc>
<tf>0000000000100.00</tf>
<iauc>000000020.00</iauc>
<icf>000000000.10</icf>
<imis>00000009.90</imis>
<ipot>000000040.00</ipot>
<idis>000000020.00</idis>
<itras>000000010.00</itras>
</hdr>
<dev>
<abd>01.09.2011</abd>
<bisd>30.09.2011</bisd>
<mm>01051234</mm>
<tm>Cont.Elettronico</tm>
<nca>06.00</nca>
<nf>3</nf>
<k1>0000001.000</k1>
<lett>
<lea>
<dlea>30.09.2011</dlea>
<lat>000022768.000000</lat>
<tla>L2</tla>
<dlep>31.08.2011</dlep>
<lpr>000021940.000000</lpr>
<fascial>F1</fascial>
</lea>
<lea>
<dlea>30.09.2011</dlea>
<lat>000008424.000000</lat>
<tla>L2</tla>
<dlep>31.08.2011</dlep>
<lpr>000008073.000000</lpr>
<fascial>F2</fascial>
</lea>
<lea>
<dlea>30.09.2011</dlea>
<lat>000020024.000000</lat>
<tla>L2</tla>
<dlep>31.08.2011</dlep>
<lpr>000019457.000000</lpr>
<fascial>F3</fascial>
</lea>
</lett>
</dev>
<ea>
<ab>01.09.11</ab>
<bis>30.09.11</bis>
<qta>000001746.0</qta>
<fascia>F3</fascia>
</ea>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>01</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>02</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>03</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>04</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>05</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>06</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>07</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>08</mese>
</pot>
<pot>
<qta>0000000.0</qta>
<fascia>F1</fascia>
<qta>0000000.0</qta>
<fascia>F2</fascia>
<qta>0000015.0</qta>
<fascia>F3</fascia>
<qta>0000000.0</qta>
<fascia>F4</fascia>
<mese>09</mese>
</pot>
</idimpp>
</trader>
</edi_l>'
select @xmldoc
select mycolumn.value( '@num', 'varchar(200)') as idfattura,
mycolumn.value( '../@pod', 'varchar(200)') as pod
from @xmldoc.nodes('/edi_l/trader/idimpp') as mytable(mycolumn)