0

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.

3
  • 1
    Please post the expected result as code within your question - not as picture in external link. Reducing the example to the minimum necessary to demonstrate the problem would also be helpful - see: [mcve[. Lastly, please ask a specific question about a difficulty you encountered when trying to accomplish this. Otherwise it looks like you're just looking for someone to write your code for you. Commented Aug 28, 2021 at 16:34
  • Ok thanks for your patience, I posted an html expected result, my problem as I was saying, is that i need to recreate a nested HTML tree structure from that XML plain structure that has the parents-children relations to be read in the content of the <FLD> tags . thanks, best regards. Commented Aug 30, 2021 at 8:01
  • Is your question not answered? Commented Sep 24, 2021 at 20:27

1 Answer 1

1

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Many thanks i will try your solution and I will tell you back as soon as possible. I was unable to post a correct HTML output because i had also a general idea of it... so I posted just a few lines... thanks again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.