将xml文件数据提取到mySQL的Php代码

将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

我有一个XML文件。。我需要将它从XMl转换为MYSQL。现在我的问题是如何提取这两个数组

每个阵列将具有不同的

    <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帮助但不同的循环(我这里有两个不同的循环)将有不同的数据。