我是新来编码,试图从一个XML文件,这是一个行业,公司名称和符号列表创建数据库。我看到的是,这些数据导入到MySQL中的PHP代码看上去像一个例子:将XML导入MySQL数据库
<?php
$url ="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.industry%20where%20id%20in%20(select%20industry.id%20from%20yahoo.finance.sectors)&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url); //getting url contents
$data = curl_exec ($ch); //execule curl request
curl_close($ch);
$xml = simplexml_load_string($data);
$con=mysql_connect("localhost", "root", ""); //connect to server
mysql_select_db("symbol_list", $con) or die(mysql_error()); //select database
foreach ($xml -> item as $row) {
$industry = $row -> industry;
$company = $row -> name;
$symbol = $row -> symbol;
// perform sql query
$sql = "INSERT INTO 'symbols_xml' ('industry', 'company', 'symbol')"
. "VALUES ('$industry', '$company', '$symbol')";
$result = mysql_query($sql);
if (!$result) {
echo 'MySQL ERROR';
} else {
echo 'SUCCESS';
}
}
?>
然而,由于XML的格式如下:上述
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="215" yahoo:created="2015-03-02T20:58:57Z" yahoo:lang="en-US">
<results>
<industry id="112" name="Agricultural Chemicals">
<company name="Adarsh Plant Protect Ltd" symbol="ADARSHPL.BO"/>
<company name="African Potash Ltd" symbol="AFPO.L"/>
......
</industry>
<industry id="132" name="Aluminum">
<company name="AEI Corp Ltd" symbol="A18.SI"/>
<company name="Alcoa Inc" symbol="AA.BA"/>
<company name="Alcoa Inc" symbol="AA.MX"/>
......
我的PHP代码是无法识别的值... 有没有办法导入的属性(行业名称,公司名称和符号),使得它看起来像:
#| Industry | Company | Symbol
-|----------- ------------ -------
1| Aluminium | Alcoa Inc. | AA.BA
等等。
我刚刚开始学习PHP和数据库,所以请原谅我,如果这是一个浪费你时间的高频问题。 xD
谢谢。
很多小号执行代码。 PHP将XML文件导入数据库 - http://www.kvcodes.com/2017/04/php-import-xml-file-database/ – Kvvaradha 2017-04-05 02:45:48