将xml文件数据提取到mySQL的Php代码
我有一个XML文件。。我需要将它从XMl转换为MYSQL。现在我的问题是如何提取这两个数组 每个阵列将具有不同的将xml文件数据提取到mySQL的Php代码,php,mysql,xml,Php,Mysql,Xml,我有一个XML文件。。我需要将它从XMl转换为MYSQL。现在我的问题是如何提取这两个数组 每个阵列将具有不同的 <r> $value </r> $value $value数据..例如 第一阵列, pmintervaltxethmax利用率数据:34,2和 对于第二个数组 pmIntervalRxPowerLevel数据:-9,70, pmIntervalTxPowerLevel数据:13,1 。有人能帮助指导如何编写php代码将这个xml文件提取到我的SQL
<r> $value </r>
$value
$value数据..例如
第一阵列,
pmintervaltxethmax利用率数据:34,2和 对于第二个数组
pmIntervalRxPowerLevel数据:-9,70,
pmIntervalTxPowerLevel数据:13,1 。有人能帮助指导如何编写php代码将这个xml文件提取到我的SQL中吗
<mi>
<mts>20130618020000</mts>
<gp>900</gp>
<mt>pmIntervalRxUndersizedFrames</mt> [ this is 1st array]
<mt>pmIntervalTxEthMaxUtilization</mt>
<mv>
<moid>port:1:3:23-24</moid>
<sf>FALSE</sf>
<r>0</r> [the data for 1st array i want to insert in DB]
<r>34</r>
</mv>
<mv>
<moid>port:1:3:23-24</moid>
<sf>FALSE</sf>
<r>0</r> [the data for 1st array i want to insert in DB]
<r>2</r>
</mv>
</mi>
<mi>
<mts>20130618020000</mts>
<gp>900</gp>
<mt>pmIntervalRxSES</mt> [this is 2nd array]
<mt>pmIntervalRxPowerLevel</mt>
<mt>pmIntervalTxPowerLevel</mt>
<mv>
<moid>client:1:3:23-24</moid>
<sf>FALSE</sf>
<r>0</r> [the data for 2nd array i want to insert in DB]
<r>-9</r>
<r>13</r>
</mv>
<mv>
<moid>client:1:3:23-24</moid>
<sf>FALSE</sf>
<r>0</r> [the data for 2nd array i want to insert in DB]
<r>70</r>
<r>1</r>
</mv>
</mi>
20130618020000
900
pmIntervalRxUndersizedFrames[这是第一个数组]
pmintervaltxethmax利用率
端口:1:3:23-24
错误的
0[我要插入的第一个数组的数据,单位为DB]
34
端口:1:3:23-24
错误的
0[我要插入的第一个数组的数据,单位为DB]
2.
20130618020000
900
pmIntervalRxSES[这是第二个数组]
pmIntervalRxPowerLevel
pmIntervalTxPowerLevel
客户:1:3:23-24
错误的
0[我要插入的第二个数组的数据,单位为DB]
-9
13
客户:1:3:23-24
错误的
0[我要插入的第二个数组的数据,单位为DB]
70
1.
您需要一个嵌套循环:
foreach($xml->mi as $mi)
{
foreach($mi->mv as $subchild)
{
...
insert row
...
}
}
foreach($xml->mi as $mi){
// This deep we loop through each <mi> value
foreach($mi->mv as $subchild){
// Now we loop through each <mv> of the <mi> from the outer loop
// code here
}
}
这将在每个
节点上循环,然后对其包含的每个
进行循环。我不太清楚您的问题,您的意思是否类似于嵌套循环:
foreach($xml->mi as $mi)
{
foreach($mi->mv as $subchild)
{
...
insert row
...
}
}
foreach($xml->mi as $mi){
// This deep we loop through each <mi> value
foreach($mi->mv as $subchild){
// Now we loop through each <mv> of the <mi> from the outer loop
// code here
}
}
foreach($xml->mi作为$mi){
//我们在这个深度循环每个值
foreach($mi->mv作为$subchild){
//现在,我们从外部循环遍历每个
//代码在这里
}
}
这是当我们有两个具有不同数据内容的数组时的代码
$i = 0 ;
foreach($xml->md->mi as $mi)
{
foreach($mi->mv as $subchild)
{
if ($i <2 )
{
//function code for 1st array
$i++;
}
else
{
//function code for 2nd array
$i++;
}
}
}
$i=0;
foreach($xml->md->mi作为$mi)
{
foreach($mi->mv作为$subchild)
{
如果($i),这个问题似乎是离题的,因为它是关于对大块非隔离代码的调试请求,可能(也可能不是)包含问题询问的代码。相反,代码应该简化为一个简单的示例代码,以简洁和自我解释的方式概括问题和问题。谢谢..但是不同的循环(我这里有两个不同的循环)将有不同的数据..好..tq帮助但不同的循环(我这里有两个不同的循环)将有不同的数据。