Php 使用DOMDocument()将多个.xml文件上载到数据库
我有个问题。 当在网站上下订单时,它会生成一个带有2个值的.xml文件(EAN,OrderID)。Php 使用DOMDocument()将多个.xml文件上载到数据库,php,sql,xml,insert,Php,Sql,Xml,Insert,我有个问题。 当在网站上下订单时,它会生成一个带有2个值的.xml文件(EAN,OrderID)。 我制作了一个脚本,将.xml文件上载到数据库表 这就是我使用的代码: foreach (glob("*.xml") as $filename) { $result = $filename; } $xmlDoc = new DOMDocument(); $xmlDoc->load($result);
我制作了一个脚本,将.xml文件上载到数据库表 这就是我使用的代码:
foreach (glob("*.xml") as $filename) {
$result = $filename;
}
$xmlDoc = new DOMDocument();
$xmlDoc->load($result);
$xmlObject = $xmlDoc->getElementsByTagName('order');
$itemCount = $xmlObject->length;
for ($i=0; $i < $itemCount; $i++){
$ean = $xmlObject->item($i)->getElementsByTagName('product_ean13')->item(0)->childNodes->item(0)->nodeValue;
$orderID = $xmlObject->item($i)->getElementsByTagName('order_id')->item(0)->childNodes->item(0)->nodeValue;
$sql = $pdo->prepare("INSERT INTO `orders`
(ean,
orderID)
VALUES ( :ean,
:order)");
$sql->execute(array(
"ean" => $ean,
"order" => $orderID
));
}
foreach(glob(“*.xml”)作为$filename){
$result=$filename;
}
$xmlDoc=新的DOMDocument();
$xmlDoc->load($result);
$xmlObject=$xmlDoc->getElementsByTagName('order');
$itemCount=$xmlObject->length;
对于($i=0;$i<$itemCount;$i++){
$ean=$xmlObject->item($i)->getElementsByTagName('product_ean13')->item(0)->childNodes->item(0)->nodeValue;
$orderID=$xmlObject->item($i)->getElementsByTagName('order_id')->item(0)->childNodes->item(0)->nodeValue;
$sql=$pdo->prepare(“插入订单`
(e),
医嘱ID)
值(:ean,
(命令);(详情请参阅会议过程正式纪录英文本);
$sql->execute(数组)(
“ean”=>$ean,
“订单”=>$orderID
));
}
$ean是退出.xml提要时的ean编号。
还有$orderID
(我使用glob(“*.xml”),因为.xml文件的名称从来都不相同
现在我的问题是…如何在任何时候上载多个.xml文件?!尝试将整个代码片段放入
foreach
循环,它将上载文件夹中的所有xml
文件
代码
foreach (glob("*.xml") as $filename) {
$xmlDoc = new DOMDocument();
$xmlDoc->load($filename);
$xmlObject = $xmlDoc->getElementsByTagName('order');
$itemCount = $xmlObject->length;
for ($i = 0; $i < $itemCount; $i++) {
$ean = $xmlObject->item($i)->getElementsByTagName('product_ean13')->item(0)->childNodes->item(0)->nodeValue;
$orderID = $xmlObject->item($i)->getElementsByTagName('order_id')->item(0)->childNodes->item(0)->nodeValue;
$sql = $pdo->prepare("INSERT INTO `orders`
(ean,
orderID)
VALUES ( :ean,
:order)");
$sql->execute(array(
"ean" => $ean,
"order" => $orderID
));
}
}
foreach(glob(“*.xml”)作为$filename){
$xmlDoc=新的DOMDocument();
$xmlDoc->load($filename);
$xmlObject=$xmlDoc->getElementsByTagName('order');
$itemCount=$xmlObject->length;
对于($i=0;$i<$itemCount;$i++){
$ean=$xmlObject->item($i)->getElementsByTagName('product_ean13')->item(0)->childNodes->item(0)->nodeValue;
$orderID=$xmlObject->item($i)->getElementsByTagName('order_id')->item(0)->childNodes->item(0)->nodeValue;
$sql=$pdo->prepare(“插入订单`
(e),
医嘱ID)
值(:ean,
(命令);(详情请参阅会议过程正式纪录英文本);
$sql->execute(数组)(
“ean”=>$ean,
“订单”=>$orderID
));
}
}