Witam,
mam problem z importem danych do bazy mysql z pliku XML poniżej:
<?xml version="1.0" encoding="utf-8"?>
<offers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1">
<group name="other">
<o id="67879_279869" numer_kat="BB1027" nazwa_cechy_1="Kolor" wartosc_cechy_1="zielony" nazwa_cechy_2="Rozmiar EUR" wartosc_cechy_2="28" url="http://sportech.pl/buty-adidas-ace-17_3-fg-j-bb1027/67879/produkt/" price="119" avail="1" set="0" stock="4">
<cat>
<![CDATA[Piłka nożna / Buty piłkarskie / Lanka]]>
</cat>
<name>
<![CDATA[Buty adidas ACE 17.3 FG J BB1027]]>
</name>
<imgs>
<main url="http://sportech.pl/gfx-base/s_1/gfx/products/big/BB1027/BB1027_FTW_virtual_standard_white.jpg" />
</imgs>
<pics>
<pic>
http://sportech.pl/gfx-base/s_1/gfx/products/big/BB1027/BB1027_FTW_virtual_standard_white.jpg
</pic>
<pic>
http://sportech.pl/gfx-base/s_1/gfx/products/big/BB1027/BB1027_FTW_photo_back-lateral_white.jpg
</pic>
<pic>
http://sportech.pl/gfx-base/s_1/gfx/products/big/BB1027/BB1027_FTW_photo_bottom_white.jpg
</pic>
<pic>
http://sportech.pl/gfx-base/s_1/gfx/products/big/BB1027/BB1027_FTW_photo_detail-1_white.jpg
</pic>
</pics>
<desc>
<![CDATA[]]>
</desc>
<attrs>
<a name="Producent">
<![CDATA[adidas]]>
</a>
<a name="Kod_producenta">
</a>
<a name="EAN">
<![CDATA[4057283304574]]>
</a>
</attrs>
</o>
</group>
</offers>
chodzi mi głównie o wyciągniecie dwóch zmiennych: stock="4" oraz kod EAN
Jest to dosyć specyficzny XML i niestety nie mogę znaleźć w sieci żadnych podobnych rozwiązań. Prosiłbym o pomoc.
Mój aktualny kod (niestety nie importuje żadnych zmiennych):
<?php
$conn = mysqli_connect("localhost", "root", "", "stany_xml");
$affectedRow = 0;
$xml = simplexml_load_file("xml/import_sportech_sportszonepl.xml");
foreach ($xml->children() as $row) {
$ean = $row->ean;
$stock = $row->stock;
$sql = "INSERT INTO xml(ean,stock) VALUES ('" . $ean . "','" . $stock . "')";
$result = mysqli_query($conn, $sql);
if (! empty($result)) {
$affectedRow ++;
} else {
$error_message = mysqli_error($conn) . "\n";
}
}
?>
<h2>Insert XML Data to MySql Table Output</h2>
<?php
if ($affectedRow > 0) {
$message = $affectedRow . " dodanych rekordów";
} else {
$message = "Brak rekordów";
}
?>