我正在处理 XML 文件,我需要通过 PHP 读取该文件,然后将该数据保存在数据库中。到目前为止,我是成功的。问题是,它是专门为下面的 XML 制作的。我需要的是一个通用代码,它可以做同样的事情,但适用于任何类型的 XML 代码。
这是我的 XML 和 PHP 代码
<?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>
这是我的 PHP 代码
$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";}