Reputation: 1
Hello everybody I've got this result XML data file obtained from a Web Service SOAP call as shown below:
<RESULT>
<GRP ID="GRP1">
<FLD NAME="YITM" TYPE="Char">CC16800001353</FLD>
<FLD NAME="YALT" TYPE="Integer">1</FLD>
<FLD NAME="YREFDAT" TYPE="Date">16/08/2021</FLD>
<FLD NAME="YPJT" TYPE="Char">^^OP21-70079/2000^^</FLD>
<FLD NAME="YSITE" TYPE="Char">ITS01</FLD>
<FLD NAME="YQTY" TYPE="Decimal">20</FLD>
</GRP>
<TAB DIM="999" ID="GRP2" SIZE="51">
<LIN NUM="1">
<FLD NAME="YLST" TYPE="Char">|CC16800001353|CLIP PANTERA TACHETE CLIP 19MM |50FF15|0|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="2">
<FLD NAME="YLST" TYPE="Char">CC16800001353|CC1680_1353_I01|CLIP PANTERA TACHETE CLIP 19MM|50FF15|1|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="3">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|344-0464-008_01|CONTRO PIASTRA|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="4">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|315-7195-008_04|PERNO DI CENTRAGGIO|FFC911|2|N|P3|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="5">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|305-0696-008_01|CONTRO PIASTRA TONDA D23 MM|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="6">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|CC1680_1353_M01|CLIP PANTERA TACHETE CLIP 19MM|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="7">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|313-0394-103_10|M2X5 TSP 3.8 TORX (ISO 14581)|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="8">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|CC1680_1353_M02|MONTAGGIO BATTENTE C/CALAMITA|50FF15|1|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="9">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|CC1680_1353_M03|MONTAGGIO CORPO CALAMITA D20|50FF15|1|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="10">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|324-0251-210|VASSOIO STD 126 ALVEOLI FELPAT|50FF15|0|S|OPQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="11">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|313-1003-008_04|VITE SPECIALE|FF3300|2|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="12">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|313-0369-103_01|M2X4 TSP 3.8 CROCE IMP.H|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="13">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_I01|356-0010-210|VASSOIO STD 20 ALVEOLI FELPATO|4274F4|0|S|OPAQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="14">
<FLD NAME="YLST" TYPE="Char">344-0464-008_01|344-0464-008|CONTRO PIASTRA|FF8F2E|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="15">
<FLD NAME="YLST" TYPE="Char">315-7195-008_04|315-7195-008_03|PERNO DI CENTRAGGIO|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="16">
<FLD NAME="YLST" TYPE="Char">315-7195-008_03|315-7195-008_01|PERNO DI CENTRAGGIO|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="17">
<FLD NAME="YLST" TYPE="Char">315-7195-008_01|315-7195-008|PERNO DI CENTRAGGIO|50FF15|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="18">
<FLD NAME="YLST" TYPE="Char">305-0696-008_01|305-0696-008|CONTRO PIASTRA TONDA D23 MM|FF8F2E|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="19">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M01|315-7198-008_03|TASSELLO PORTA MOLLA|50FF15|1|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="20">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M01|316-0481-100|COMP DE 3;DF 0.65;L 9.5 MM;SPT 7.5|50FF15|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="21">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M01|CC_Y00018_06|CLIP PANTERA TACHETE CLIP 19MM|50FF15|1|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="22">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M01|315-7246-008_03|PERNO D.1,62XD.1,5X13,5 MM|FF3300|2|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="23">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M01|315-7446-204|PISTONE PER MOLLA D3 DELRIN NERO|FF3300|0|N|OPQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="24">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M01|315-7196-008_03|PERNO PER MOLLA|FFC911|0|N|PA1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="25">
<FLD NAME="YLST" TYPE="Char">315-7198-008_03|315-7198-008_01|TASSELLO PORTA MOLLA|50FF15|2|N|PB|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="26">
<FLD NAME="YLST" TYPE="Char">315-7198-008_01|315-7198-008|TASSELLO PORTA MOLLA|FF8F2E|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="27">
<FLD NAME="YLST" TYPE="Char">CC_Y00018_06|CC_Y00018_04|CLIP PANTERA TACHETE CLIP 19MM|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="28">
<FLD NAME="YLST" TYPE="Char">CC_Y00018_04|CC_Y00018_03|CLIP PANTERA TACHETE CLIP 19MM|FF3300|2|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="29">
<FLD NAME="YLST" TYPE="Char">CC_Y00018_03|CC_Y00018_02|CLIP PANTERA TACHETE CLIP 19MM|FF3300|2|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="30">
<FLD NAME="YLST" TYPE="Char">CC_Y00018_02|CC_Y00018|CLIP PANTERA TACHETE CLIP 19MM|FF3300|1|N|P2|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="31">
<FLD NAME="YLST" TYPE="Char">CC_Y00018|325-A118-008_05|PANTERA|FFC911|1|N|P2|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="32">
<FLD NAME="YLST" TYPE="Char">CC_Y00018|315-7197-008|TASSELLO PER PANTERA|50FF15|0|N|FP3Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="33">
<FLD NAME="YLST" TYPE="Char">325-A118-008_05|325-A118-008_02|PANTERA|42F4B6|2|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="34">
<FLD NAME="YLST" TYPE="Char">325-A118-008_02|325-A118-008|PANTERA|FF8F2E|17|N|P1Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="35">
<FLD NAME="YLST" TYPE="Char">315-7246-008_03|315-7246-008_01|PERNO D.1,62XD.1,5X13,5 MM|FF3300|2|N|P3|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="36">
<FLD NAME="YLST" TYPE="Char">315-7246-008_01|315-7246-008|PERNO D.1,62XD.1,5X13,5 MM|50FF15|1|N|P3Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="37">
<FLD NAME="YLST" TYPE="Char">313-0394-103_10|313-0394-103|M2X5 TSP 3.8 TORX (ISO 14581)|50FF15|16|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="38">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M02|315-7213-008_03|BATTENTE CON CALAMITA D20MM|50FF15|1|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="39">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M02|330-7119-999|CALAMITA ANELLO 15.5X7X2 MM|4274F4|35|N|P9Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="40">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M02|355-1066-232|PELLICOLA TONDA D19.5MM|50FF15|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="41">
<FLD NAME="YLST" TYPE="Char">315-7213-008_03|315-7213-008_01|BATTENTE CON CALAMITA D20MM|50FF15|2|N|P|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="42">
<FLD NAME="YLST" TYPE="Char">315-7213-008_01|315-7213-008|BATTENTE CON CALAMITA D20MM|FF8F2E|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="43">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M03|315-7214-008_04|CORPO CALAMITA D20MM|FF3300|1|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="44">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M03|330-7119-999|CALAMITA ANELLO 15.5X7X2 MM|4274F4|35|N|P9Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="45">
<FLD NAME="YLST" TYPE="Char">CC1680_1353_M03|355-1066-232|PELLICOLA TONDA D19.5MM|50FF15|0|N|PQ|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="46">
<FLD NAME="YLST" TYPE="Char">315-7214-008_04|315-7214-008_02|CORPO CALAMITA D20MM|FF3300|2|N|PB3|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="47">
<FLD NAME="YLST" TYPE="Char">315-7214-008_02|315-7214-008_05|CORPO CALAMITA D20MM|FFC911|1|N|P1|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="48">
<FLD NAME="YLST" TYPE="Char">315-7214-008_05|315-7214-008_01|CORPO CALAMITA D20MM|FFC911|2|N|P3|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="49">
<FLD NAME="YLST" TYPE="Char">315-7214-008_01|315-7214-008|CORPO CALAMITA D20MM|FF8F2E|1|N|P3Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="50">
<FLD NAME="YLST" TYPE="Char">313-1003-008_04|313-1003-008|VITE SPECIALE|FF8F2E|1|N|P1Q|OP21-70079/2000</FLD>
</LIN>
<LIN NUM="51">
<FLD NAME="YLST" TYPE="Char">313-0369-103_01|313-0369-103|M2X4 TSP 3.8 CROCE IMP.H|50FF15|7|N|PQ|OP21-70079/2000</FLD>
</LIN>
</TAB>
<TAB DIM="999" ID="GRP3" SIZE="51">
<LIN NUM="1">
<FLD NAME="YLST2" TYPE="Char">CC16800001353|PFM0P|20/20|0|0|0|0|0|0|C:\wamp64\www\immX3\CC16800001353.PNG</FLD>
</LIN>
<LIN NUM="2">
<FLD NAME="YLST2" TYPE="Char">CC1680_1353_I01|SLM02|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC1680_1353_I01.PNG</FLD>
</LIN>
<LIN NUM="3">
<FLD NAME="YLST2" TYPE="Char">344-0464-008_01|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\344-0464-008_01.JPG</FLD>
</LIN>
<LIN NUM="4">
<FLD NAME="YLST2" TYPE="Char">315-7195-008_04|SLM01|15/20|1|1|5|0|0|0|C:\wamp64\www\immX3\315-7195-008_04.JPG</FLD>
</LIN>
<LIN NUM="5">
<FLD NAME="YLST2" TYPE="Char">305-0696-008_01|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\305-0696-008_01.JPG</FLD>
</LIN>
<LIN NUM="6">
<FLD NAME="YLST2" TYPE="Char">CC1680_1353_M01|SLM02|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC1680_1353_M01.PNG</FLD>
</LIN>
<LIN NUM="7">
<FLD NAME="YLST2" TYPE="Char">313-0394-103_10|SLM01|40/40|2|1|0|0|0|0|C:\wamp64\www\immX3\313-0394-103_10.JPG</FLD>
</LIN>
<LIN NUM="8">
<FLD NAME="YLST2" TYPE="Char">CC1680_1353_M02|SLM02|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC1680_1353_M02.PNG</FLD>
</LIN>
<LIN NUM="9">
<FLD NAME="YLST2" TYPE="Char">CC1680_1353_M03|SLM02|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC1680_1353_M03.PNG</FLD>
</LIN>
<LIN NUM="10">
<FLD NAME="YLST2" TYPE="Char">324-0251-210|MPM01|0/0|0.008|100|0|33000|0|0|C:\wamp64\www\immX3\324-0251-210.PNG</FLD>
</LIN>
<LIN NUM="11">
<FLD NAME="YLST2" TYPE="Char">313-1003-008_04|SLM01|0/20|1|1|0|0|0|0|C:\wamp64\www\immX3\313-1003-008_04.JPG</FLD>
</LIN>
<LIN NUM="12">
<FLD NAME="YLST2" TYPE="Char">313-0369-103_01|SLM01|20/20|1|0|0|0|0|0|C:\wamp64\www\immX3\313-0369-103_01.JPG</FLD>
</LIN>
<LIN NUM="13">
<FLD NAME="YLST2" TYPE="Char">356-0010-210|MPM01|0/0|0.05|1|0|0|0|0|C:\wamp64\www\immX3\356-0010-210.JPG</FLD>
</LIN>
<LIN NUM="14">
<FLD NAME="YLST2" TYPE="Char">344-0464-008|MPM01|20/20|1|0|0|6080|0|0|C:\wamp64\www\immX3\344-0464-008.JPG</FLD>
</LIN>
<LIN NUM="15">
<FLD NAME="YLST2" TYPE="Char">315-7195-008_03|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7195-008_03.JPG</FLD>
</LIN>
<LIN NUM="16">
<FLD NAME="YLST2" TYPE="Char">315-7195-008_01|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7195-008_01.JPG</FLD>
</LIN>
<LIN NUM="17">
<FLD NAME="YLST2" TYPE="Char">315-7195-008|MPM01|20/20|1|0|0|6545|0|0|C:\wamp64\www\immX3\315-7195-008.JPG</FLD>
</LIN>
<LIN NUM="18">
<FLD NAME="YLST2" TYPE="Char">305-0696-008|MPM01|20/20|1|0|0|7915|0|0|C:\wamp64\www\immX3\305-0696-008.JPG</FLD>
</LIN>
<LIN NUM="19">
<FLD NAME="YLST2" TYPE="Char">315-7198-008_03|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7198-008_03.JPG</FLD>
</LIN>
<LIN NUM="20">
<FLD NAME="YLST2" TYPE="Char">316-0481-100|MPM01|20/20|1|0|0|6900|0|0|C:\wamp64\www\immX3\316-0481-100.JPG</FLD>
</LIN>
<LIN NUM="21">
<FLD NAME="YLST2" TYPE="Char">CC_Y00018_06|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC_Y00018_06.PNG</FLD>
</LIN>
<LIN NUM="22">
<FLD NAME="YLST2" TYPE="Char">315-7246-008_03|SLM01|0/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7246-008_03.JPG</FLD>
</LIN>
<LIN NUM="23">
<FLD NAME="YLST2" TYPE="Char">315-7446-204|MPM01|0/0|1|0|0|0|0|0|C:\wamp64\www\immX3\315-7446-204.PNG</FLD>
</LIN>
<LIN NUM="24">
<FLD NAME="YLST2" TYPE="Char">315-7196-008_03|SLM01|15/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7196-008_03.PNG</FLD>
</LIN>
<LIN NUM="25">
<FLD NAME="YLST2" TYPE="Char">315-7198-008_01|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7198-008_01.JPG</FLD>
</LIN>
<LIN NUM="26">
<FLD NAME="YLST2" TYPE="Char">315-7198-008|MPM01|20/20|1|0|0|6097|0|0|C:\wamp64\www\immX3\315-7198-008.JPG</FLD>
</LIN>
<LIN NUM="27">
<FLD NAME="YLST2" TYPE="Char">CC_Y00018_04|SLM01|22/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC_Y00018_04.PNG</FLD>
</LIN>
<LIN NUM="28">
<FLD NAME="YLST2" TYPE="Char">CC_Y00018_03|SLM01|0/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC_Y00018_03.PNG</FLD>
</LIN>
<LIN NUM="29">
<FLD NAME="YLST2" TYPE="Char">CC_Y00018_02|SLM01|0/20|1|1|0|0|0|0|C:\wamp64\www\immX3\CC_Y00018_02.PNG</FLD>
</LIN>
<LIN NUM="30">
<FLD NAME="YLST2" TYPE="Char">CC_Y00018|SLM02|0/20|1|1|17|0|0|0|C:\wamp64\www\immX3\CC_Y00018.PNG</FLD>
</LIN>
<LIN NUM="31">
<FLD NAME="YLST2" TYPE="Char">325-A118-008_05|SLM01|17/20|1|1|1|0|0|0|C:\wamp64\www\immX3\325-A118-008_05.JPG</FLD>
</LIN>
<LIN NUM="32">
<FLD NAME="YLST2" TYPE="Char">315-7197-008|MPM01|0/20|1|0|0|20|0|0|C:\wamp64\www\immX3\315-7197-008.PNG</FLD>
</LIN>
<LIN NUM="33">
<FLD NAME="YLST2" TYPE="Char">325-A118-008_02|SLM01|5/20|1|1|0|0|0|0|C:\wamp64\www\immX3\325-A118-008_02.JPG</FLD>
</LIN>
<LIN NUM="34">
<FLD NAME="YLST2" TYPE="Char">325-A118-008|MPM01|5/20|1|1|0|7014|0|0|C:\wamp64\www\immX3\325-A118-008.JPG</FLD>
</LIN>
<LIN NUM="35">
<FLD NAME="YLST2" TYPE="Char">315-7246-008_01|SLM01|0/20|1|1|20|0|0|0|C:\wamp64\www\immX3\315-7246-008_01.JPG</FLD>
</LIN>
<LIN NUM="36">
<FLD NAME="YLST2" TYPE="Char">315-7246-008|MPM01|0/20|1|0|0|5940|0|0|C:\wamp64\www\immX3\315-7246-008.JPG</FLD>
</LIN>
<LIN NUM="37">
<FLD NAME="YLST2" TYPE="Char">313-0394-103|MPM01|40/40|1|5000|0|350240|0|0|C:\wamp64\www\immX3\313-0394-103.JPG</FLD>
</LIN>
<LIN NUM="38">
<FLD NAME="YLST2" TYPE="Char">315-7213-008_03|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7213-008_03.JPG</FLD>
</LIN>
<LIN NUM="39">
<FLD NAME="YLST2" TYPE="Char">330-7119-999|MPM01|20/20|1|100|0|22000|0|0|C:\wamp64\www\immX3\330-7119-999.JPG</FLD>
</LIN>
<LIN NUM="40">
<FLD NAME="YLST2" TYPE="Char">355-1066-232|MPM01|20/20|1|0|0|12400|0|0|C:\wamp64\www\immX3\355-1066-232.PNG</FLD>
</LIN>
<LIN NUM="41">
<FLD NAME="YLST2" TYPE="Char">315-7213-008_01|SLM01|20/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7213-008_01.JPG</FLD>
</LIN>
<LIN NUM="42">
<FLD NAME="YLST2" TYPE="Char">315-7213-008|MPM01|20/20|1|0|0|6450|0|0|C:\wamp64\www\immX3\315-7213-008.JPG</FLD>
</LIN>
<LIN NUM="43">
<FLD NAME="YLST2" TYPE="Char">315-7214-008_04|SLM01|0/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7214-008_04.JPG</FLD>
</LIN>
<LIN NUM="44">
<FLD NAME="YLST2" TYPE="Char">330-7119-999|MPM01|20/20|1|100|0|22000|0|0|C:\wamp64\www\immX3\330-7119-999.JPG</FLD>
</LIN>
<LIN NUM="45">
<FLD NAME="YLST2" TYPE="Char">355-1066-232|MPM01|20/20|1|0|0|12400|0|0|C:\wamp64\www\immX3\355-1066-232.PNG</FLD>
</LIN>
<LIN NUM="46">
<FLD NAME="YLST2" TYPE="Char">315-7214-008_02|SLM01|0/20|1|1|20|0|0|0|C:\wamp64\www\immX3\315-7214-008_02.JPG</FLD>
</LIN>
<LIN NUM="47">
<FLD NAME="YLST2" TYPE="Char">315-7214-008_05|SLM01|15/20|1|1|0|0|0|0|C:\wamp64\www\immX3\315-7214-008_05.JPG</FLD>
</LIN>
<LIN NUM="48">
<FLD NAME="YLST2" TYPE="Char">315-7214-008_01|SLM01|15/20|1|1|5|0|0|0|C:\wamp64\www\immX3\315-7214-008_01.JPG</FLD>
</LIN>
<LIN NUM="49">
<FLD NAME="YLST2" TYPE="Char">315-7214-008|MPM01|15/20|1|0|0|6123|0|0|C:\wamp64\www\immX3\315-7214-008.JPG</FLD>
</LIN>
<LIN NUM="50">
<FLD NAME="YLST2" TYPE="Char">313-1003-008|MPM01|0/20|1|0|0|6880|0|0|C:\wamp64\www\immX3\313-1003-008.JPG</FLD>
</LIN>
<LIN NUM="51">
<FLD NAME="YLST2" TYPE="Char">313-0369-103|MPM01|20/20|1|2000|0|266166|0|0|C:\wamp64\www\immX3\313-0369-103.JPG</FLD>
</LIN>
</TAB>
</RESULT>
I need to catch the data inside of tag <FLD>
of <TAB ID='GRP2'>
but the problem is that if you can see the XML is not nested and i need to create a nested XML tree.
You can see the content of <FLD>
tags, at the second place, there is the code that denote the child of that parent, for example first item
CC16800001353|CC1680_1353_I01|CLIP PANTERA TACHETE CLIP 19MM|50FF15|1|N|P|OP21-70079/2000
has items CC1680_1353_I01
as child as you can see
CC1680_1353_I01|344-0464-008_01|CONTRO PIASTRA|50FF15|2|N|P|OP21-70079/2000
i need to create an XML tree to transform it as HTML (maybe with XLST), somenthing like this one
<ul class="tree">
<li> <span>CC16800001353|CC1680_1353_I01|CLIP PANTERA TACHETE CLIP 19MM|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li> <span>CC1680_1353_I01|344-0464-008_01|CONTRO PIASTRA|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li> <span>344-0464-008_01|344-0464-008|CONTRO PIASTRA|FF8F2E|0|N|PQ|OP21-70079/2000</span></li>
</ul>
</li>
<li> <span>CC1680_1353_I01|315-7195-008_04|PERNO DI CENTRAGGIO|FFC911|2|N|P3|OP21-70079/2000</span></li>
<li> <span>CC1680_1353_I01|305-0696-008_01|CONTRO PIASTRA TONDA D23 MM|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li><span>305-0696-008_01|305-0696-008|CONTRO PIASTRA TONDA D23 MM|FF8F2E|0|N|PQ|OP21-70079/2000</span></li>
</ul>
</li>
</ul>
</li>
</ul>
The problem is that Im unable to rewrite dinamically an XML / HTML tree with the correct parent-children structure. thanks in advance, any help will be appreciated.
Upvotes: 0
Views: 85
Reputation: 117175
Your question still has many missing details. And 320 lines of code is very far from a minimal example.
I am going to assume that since you tagged your question php
you will be using the libxslt
processor - so that you can use an extension function to tokenize the vertical bar-delimited string, and use the tokens to link children to their parents and vice-versa.
I am also assuming that the first token is the ID of the parent, while the second one is the ID of the current node.
Given all that, try the following stylesheet:
XSLT 1.0 + EXSLT str:tokenize()
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:key name="child" match="LIN[../@ID='GRP2']" use="str:tokenize(FLD, '|')[1]" />
<xsl:key name="parent" match="LIN[../@ID='GRP2']" use="str:tokenize(FLD, '|')[2]" />
<xsl:template match="/RESULT">
<ul class="tree">
<xsl:apply-templates select="TAB[@ID='GRP2']/LIN[not(key('parent', str:tokenize(FLD, '|')[1]))]"/>
</ul>
</xsl:template>
<xsl:template match="LIN">
<li>
<span>
<xsl:value-of select="FLD"/>
</span>
<xsl:variable name="children" select="key('child', str:tokenize(FLD, '|')[2])" />
<xsl:if test="$children">
<ul>
<xsl:apply-templates select="$children"/>
</ul>
</xsl:if>
</li>
</xsl:template>
</xsl:stylesheet>
The output of this, when applied to your input, will be:
Result
<?xml version="1.0" encoding="UTF-8"?>
<ul class="tree">
<li>
<span>|CC16800001353|CLIP PANTERA TACHETE CLIP 19MM |50FF15|0|N|P|OP21-70079/2000</span>
</li>
<li>
<span>CC16800001353|CC1680_1353_I01|CLIP PANTERA TACHETE CLIP 19MM|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>CC1680_1353_I01|344-0464-008_01|CONTRO PIASTRA|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>344-0464-008_01|344-0464-008|CONTRO PIASTRA|FF8F2E|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|315-7195-008_04|PERNO DI CENTRAGGIO|FFC911|2|N|P3|OP21-70079/2000</span>
<ul>
<li>
<span>315-7195-008_04|315-7195-008_03|PERNO DI CENTRAGGIO|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>315-7195-008_03|315-7195-008_01|PERNO DI CENTRAGGIO|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>315-7195-008_01|315-7195-008|PERNO DI CENTRAGGIO|50FF15|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|305-0696-008_01|CONTRO PIASTRA TONDA D23 MM|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>305-0696-008_01|305-0696-008|CONTRO PIASTRA TONDA D23 MM|FF8F2E|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|CC1680_1353_M01|CLIP PANTERA TACHETE CLIP 19MM|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>CC1680_1353_M01|315-7198-008_03|TASSELLO PORTA MOLLA|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>315-7198-008_03|315-7198-008_01|TASSELLO PORTA MOLLA|50FF15|2|N|PB|OP21-70079/2000</span>
<ul>
<li>
<span>315-7198-008_01|315-7198-008|TASSELLO PORTA MOLLA|FF8F2E|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_M01|316-0481-100|COMP DE 3;DF 0.65;L 9.5 MM;SPT 7.5|50FF15|0|N|PQ|OP21-70079/2000</span>
</li>
<li>
<span>CC1680_1353_M01|CC_Y00018_06|CLIP PANTERA TACHETE CLIP 19MM|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>CC_Y00018_06|CC_Y00018_04|CLIP PANTERA TACHETE CLIP 19MM|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>CC_Y00018_04|CC_Y00018_03|CLIP PANTERA TACHETE CLIP 19MM|FF3300|2|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>CC_Y00018_03|CC_Y00018_02|CLIP PANTERA TACHETE CLIP 19MM|FF3300|2|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>CC_Y00018_02|CC_Y00018|CLIP PANTERA TACHETE CLIP 19MM|FF3300|1|N|P2|OP21-70079/2000</span>
<ul>
<li>
<span>CC_Y00018|325-A118-008_05|PANTERA|FFC911|1|N|P2|OP21-70079/2000</span>
<ul>
<li>
<span>325-A118-008_05|325-A118-008_02|PANTERA|42F4B6|2|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>325-A118-008_02|325-A118-008|PANTERA|FF8F2E|17|N|P1Q|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC_Y00018|315-7197-008|TASSELLO PER PANTERA|50FF15|0|N|FP3Q|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_M01|315-7246-008_03|PERNO D.1,62XD.1,5X13,5 MM|FF3300|2|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>315-7246-008_03|315-7246-008_01|PERNO D.1,62XD.1,5X13,5 MM|FF3300|2|N|P3|OP21-70079/2000</span>
<ul>
<li>
<span>315-7246-008_01|315-7246-008|PERNO D.1,62XD.1,5X13,5 MM|50FF15|1|N|P3Q|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_M01|315-7446-204|PISTONE PER MOLLA D3 DELRIN NERO|FF3300|0|N|OPQ|OP21-70079/2000</span>
</li>
<li>
<span>CC1680_1353_M01|315-7196-008_03|PERNO PER MOLLA|FFC911|0|N|PA1|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|313-0394-103_10|M2X5 TSP 3.8 TORX (ISO 14581)|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>313-0394-103_10|313-0394-103|M2X5 TSP 3.8 TORX (ISO 14581)|50FF15|16|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|CC1680_1353_M02|MONTAGGIO BATTENTE C/CALAMITA|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>CC1680_1353_M02|315-7213-008_03|BATTENTE CON CALAMITA D20MM|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>315-7213-008_03|315-7213-008_01|BATTENTE CON CALAMITA D20MM|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>315-7213-008_01|315-7213-008|BATTENTE CON CALAMITA D20MM|FF8F2E|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_M02|330-7119-999|CALAMITA ANELLO 15.5X7X2 MM|4274F4|35|N|P9Q|OP21-70079/2000</span>
</li>
<li>
<span>CC1680_1353_M02|355-1066-232|PELLICOLA TONDA D19.5MM|50FF15|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|CC1680_1353_M03|MONTAGGIO CORPO CALAMITA D20|50FF15|1|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>CC1680_1353_M03|315-7214-008_04|CORPO CALAMITA D20MM|FF3300|1|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>315-7214-008_04|315-7214-008_02|CORPO CALAMITA D20MM|FF3300|2|N|PB3|OP21-70079/2000</span>
<ul>
<li>
<span>315-7214-008_02|315-7214-008_05|CORPO CALAMITA D20MM|FFC911|1|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>315-7214-008_05|315-7214-008_01|CORPO CALAMITA D20MM|FFC911|2|N|P3|OP21-70079/2000</span>
<ul>
<li>
<span>315-7214-008_01|315-7214-008|CORPO CALAMITA D20MM|FF8F2E|1|N|P3Q|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_M03|330-7119-999|CALAMITA ANELLO 15.5X7X2 MM|4274F4|35|N|P9Q|OP21-70079/2000</span>
</li>
<li>
<span>CC1680_1353_M03|355-1066-232|PELLICOLA TONDA D19.5MM|50FF15|0|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|324-0251-210|VASSOIO STD 126 ALVEOLI FELPAT|50FF15|0|S|OPQ|OP21-70079/2000</span>
</li>
<li>
<span>CC1680_1353_I01|313-1003-008_04|VITE SPECIALE|FF3300|2|N|P1|OP21-70079/2000</span>
<ul>
<li>
<span>313-1003-008_04|313-1003-008|VITE SPECIALE|FF8F2E|1|N|P1Q|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|313-0369-103_01|M2X4 TSP 3.8 CROCE IMP.H|50FF15|2|N|P|OP21-70079/2000</span>
<ul>
<li>
<span>313-0369-103_01|313-0369-103|M2X4 TSP 3.8 CROCE IMP.H|50FF15|7|N|PQ|OP21-70079/2000</span>
</li>
</ul>
</li>
<li>
<span>CC1680_1353_I01|356-0010-210|VASSOIO STD 20 ALVEOLI FELPATO|4274F4|0|S|OPAQ|OP21-70079/2000</span>
</li>
</ul>
</li>
</ul>
which is very different from the expected output you posted. But I believe that's your own fault for not posting a minimal reproducible example as asked.
Upvotes: 1