I am working on XML file, which i need to read through PHP and then save that data in a database. So far i was successful. The problem is that, it is made specifically for the XML below. What i need, is a generic code which could do the same but for any kind of XML code.
Here is my XML and PHP code
<?xml version="1.0" encoding="ISO-8859-1"?>
<list>
<person>
<person_id>1</person_id>
<fname>Mikael</fname>
<lname>Ronstrom</lname>
</person>
<person>
<person_id>2</person_id>
<fname>Lars</fname>
<lname>Thalmann</lname>
</person>
<person>
<person_id>3</person_id>
<fname>Mikael</fname>
<lname>Ronstrom</lname>
</person>
<person>
<person_id>4</person_id>
<fname>Lars</fname>
<lname>Thalmann</lname>
</person>
<person>
<person_id>5</person_id>
<fname>Mikael</fname>
<lname>Ronstrom</lname>
</person>
<person>
<person_id>6</person_id>
<fname>Lars</fname>
<lname>Thalmann</lname>
</person>
</list>
here is my Php code
$con = mysql_connect("localhost","root","vertrigo");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$xml = simplexml_load_file("xml.xml");
$aa = "";
foreach($xml->children() as $child)
{
foreach($child->children() as $childs)
{
$aa .= "'".$childs ."',";
}
$aa = substr_replace($aa, "", -1);
$sql = "INSERT into tbl_xmldata (person_id,first_name,last_name) values ( $aa )";
$aa = "";
$rr = mysql_query($sql);
}
if ($rr){ echo "data successfully captured from XML and inserted in db";}else{ echo "sorry no data insertion";}