I have following XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SHOP PUBLIC "XSLT-compat" "">
<SHOP>
<SHOPITEM>
<FRAMESIZE>16"</FRAMESIZE>
<CODE>032,74</CODE>
<PRODUCT>TARKA 3.0</PRODUCT>
<COLOR>black / blue</COLOR>
<PRICE>499.99</PRICE>
<PRODUCT_VARIANT id="2">
<FRAMESIZE>18"</FRAMESIZE>
<CODE>032,75</CODE>
<PRODUCT>TARKA 3.0</PRODUCT>
<COLOR>black / blue</COLOR>
<PRICE>499.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="3">
<FRAMESIZE>20"</FRAMESIZE>
<CODE>032,76</CODE>
<PRODUCT>TARKA 3.0</PRODUCT>
<COLOR>black / blue</COLOR>
<PRICE>499.99</PRICE>
</PRODUCT_VARIANT>
</SHOPITEM>
<SHOPITEM>
<FRAMESIZE>16"</FRAMESIZE>
<CODE>032,77</CODE>
<PRODUCT>TARKA 2.0</PRODUCT>
<COLOR>black / green</COLOR>
<PRICE>399.99</PRICE>
<PRODUCT_VARIANT id="2">
<FRAMESIZE>18"</FRAMESIZE>
<CODE>032,78</CODE>
<PRODUCT>TARKA 2.0</PRODUCT>
<COLOR>black / green</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="3">
<FRAMESIZE>20"</FRAMESIZE>
<CODE>032,79</CODE>
<PRODUCT>TARKA 2.0</PRODUCT>
<COLOR>black / green</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
</SHOPITEM>
<SHOPITEM>
<FRAMESIZE>16"</FRAMESIZE>
<CODE>032,80</CODE>
<PRODUCT>TARKA 1.0</PRODUCT>
<COLOR>black / red</COLOR>
<PRICE>349.99</PRICE>
<PRODUCT_VARIANT id="2">
<FRAMESIZE>18"</FRAMESIZE>
<CODE>032,81</CODE>
<PRODUCT>TARKA 1.0</PRODUCT>
<COLOR>black / red</COLOR>
<PRICE>349.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="3">
<FRAMESIZE>20"</FRAMESIZE>
<CODE>032,82</CODE>
<PRODUCT>TARKA 1.0</PRODUCT>
<COLOR>black / red</COLOR>
<PRICE>349.99</PRICE>
</PRODUCT_VARIANT>
</SHOPITEM>
<SHOPITEM>
<FRAMESIZE>17"</FRAMESIZE>
<CODE>032,83</CODE>
<PRODUCT>TERRA 3.0</PRODUCT>
<COLOR>matte black / red</COLOR>
<PRICE>399.99</PRICE>
<PRODUCT_VARIANT id="2">
<FRAMESIZE>17"</FRAMESIZE>
<CODE>032,84</CODE>
<PRODUCT>TERRA 3.0</PRODUCT>
<COLOR>black / green</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="3">
<FRAMESIZE>19"</FRAMESIZE>
<CODE>032,85</CODE>
<PRODUCT>TERRA 3.0</PRODUCT>
<COLOR>matte black / red</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="4">
<FRAMESIZE>19"</FRAMESIZE>
<CODE>032,86</CODE>
<PRODUCT>TERRA 3.0</PRODUCT>
<COLOR>black / green</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="5">
<FRAMESIZE>21"</FRAMESIZE>
<CODE>032,87</CODE>
<PRODUCT>TERRA 3.0</PRODUCT>
<COLOR>matte black / red</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
<PRODUCT_VARIANT id="6">
<FRAMESIZE>21"</FRAMESIZE>
<CODE>032,88</CODE>
<PRODUCT>TERRA 3.0</PRODUCT>
<COLOR>black / green</COLOR>
<PRICE>399.99</PRICE>
</PRODUCT_VARIANT>
</SHOPITEM>
</SHOP>
Here is my current PHP code to loop through XML:
foreach($xml->SHOPITEM as $izdelki)
{
$artikel = (array)$izdelki;
$izdelek = array();
echo $artikel['PRODUCT'] . '-' . $artikel['COLOR'] . '-' . $artikel['FRAMESIZE'] . '<br>';
//get product_variant elements
foreach($xml->SHOPITEM->PRODUCT_VARIANT as $p_variant)
{
$artikel2 = (array)$p_variant;
echo $artikel['PRODUCT'] . '-' . $artikel2['COLOR'] . '-' . $artikel2['FRAMESIZE'] . " main code: " . $artikel['CODE'] . '<br>';
}
}
OUTPUT:
TARKA 3.0-black / blue-16"
TARKA 3.0-black / blue-18" main code: 032,74
TARKA 3.0-black / blue-20" main code: 032,74
TARKA 2.0-black / green-16"
TARKA 2.0-black / blue-18" main code: 032,77
TARKA 2.0-black / blue-20" main code: 032,77
TARKA 1.0-black / red-16"
TARKA 1.0-black / blue-18" main code: 032,80
TARKA 1.0-black / blue-20" main code: 032,80
TERRA 3.0-matte black / red-17"
TERRA 3.0-black / blue-18" main code: 032,83
TERRA 3.0-black / blue-20" main code: 032,83
The problem:
As you see 3 of the TERRA 3.0 is missing. If I remove all TARKA element it is working:
TERRA 3.0-matte black / red-17"
TERRA 3.0-black / green-17" main code: 032,83
TERRA 3.0-matte black / red-19" main code: 032,83
TERRA 3.0-black / green-19" main code: 032,83
TERRA 3.0-matte black / red-21" main code: 032,83
TERRA 3.0-black / green-21" main code: 032,83
Could you please point me where this code is breaking?
No comments:
Post a Comment