我正在使用以下代碼將XML數據解析到MySQL表,並且它按預期工作。在simplexml加載文件中循環
<?php
$sxe = simplexml_load_file("$myfile");
foreach($sxe->AUTHAD as $sales) {
$authad="insert into test.authad values ('".mysql_real_escape_string($sales->LOCALDATE)."','".mysql_real_escape_string($sales->LOCALTIME)."','".mysql_real_escape_string($sales->TLOGID)."','" ...
?>
的問題是,當我得到不同格式的新的XML文件,我不能用上面的INSERT INTO聲明,必須手動更改參數。對於例如
$authadv_new="insert into test.authad values ('".mysql_real_escape_string($sales->NEW1)."','".mysql_real_escape_string($sales->NEW2)."','".mysql_real_escape_string($sales->NEW3)."','" ...
有什麼辦法可以自動化嗎?我的意思是PHP代碼應該能夠預測參數並使用循環生成mysql_real_escape_string($ sales-> NEW1)爲NEW10值。
NEW1,NEW2,NEW3可以是任何東西!我不知道。我想要代碼找出它。 – shantanuo 2011-03-11 08:57:36
你可以把你的XML的例子(有結構)嗎? – Akarun 2011-03-15 10:50:15
這段代碼很難看,也很難讀。至少使用sprintf()。 ** $ authad = sprintf('insert into \'test \'。\'authad \'values(「%s」,「%s」,「%s」)', mysql_real_escape_string($ sales-> LOCALDATE) , mysql_real_escape_string($ sales-> LOCALTIME), mysql_real_escape_string($ sales-> TLOGID)); ** – Carpetsmoker 2011-03-16 00:14:11