I'm trying to import XML data into our database(mariadb). I'm very new to php.
Our XML structure:
<?xml version="1.0" encoding="UTF-8"?>
<webexport>
<article key="98112" status="active">
<productattributes>
<group1>
<feature key="number">
<en name="Number" value="98112"></en>
<fr name="Nombre" value="98112"></fr>
<ger name="Nummer" value="98112"></ger>
</feature>
<feature key="description">
<en name="Item description" value="VKK-12-8m-11"></en>
<fr name="Désignation" value="VKK-12-8m-11"></fr>
<ger name="Artikelbezeichnung" value="VKK-12-8m-11"></ger>
</feature>
</group1>
</productattributes>
</article>
</webexport>
This is what I want to have in our database:
+----+---------------+-----------+------+--------------------+--------------+
| id | articleid_des | articleid | lang | description_des | description |
+----+---------------+-----------+------+--------------------+--------------+
| 1 | Number | 98112 | en | Item description | VKK-12-8m-11 |
| 2 | Nombre | 98112 | fr | Désignation | VKK-12-8m-11 |
| 3 | Nummer | 98112 | de | Artikelbezeichnung | VKK-12-8m-11 |
+----+---------------+-----------+------+--------------------+--------------+
This is my current function, I'm trying to get the attributes and put it in my variables ($en_des, $en_val). But after that I don't know how to get these variables correctly in our database structure.
<?php
$xml=simplexml_load_file("exported.xml");
foreach($xml->children() as $article) {
foreach($article->children() as $productattr) {
foreach($productattr->children() as $group) {
foreach($group->children() as $feature) {
foreach($feature->children() as $en) {
$en_des=$en['name'];
$en_val=$en['value'];
echo $en_des;
echo "
";
echo $en_val;
echo "
";
}
}
}
}
}
This is the output of my function:
Number
98112
Nombre
98112
Nummer
98112
Item description
VKK-12-8m-11
Désignation
VKK-12-8m-11
Artikelbezeichnung
VKK-12-8m-11