-1

私は XML ファイルを持っています..それを XML から MYSQL に変換する必要があります。. 今、この2つの配列を抽出する方法が私の質問です

各配列は異なる

    <r> $value </r>

データの $value..たとえば、
最初の配列の場合、
pmIntervalTxEthMaxUtilization データ: 34,2 および

2 番目の配列
の pmIntervalRxPowerLevel データ: -9,70 、
pmIntervalTxPowerLevel データ: 13,1

. このxmlファイルをMY SQLに抽出するためのphpコードの書き方を教えてくれる人がいますか

    <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>
4

3 に答える 3

0

あなたの質問は私にはあまり明確ではありません。ネストされたループのようなものを意味しますか:

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
    }
}
于 2013-06-26T07:59:21.373 に答える
0

ネストされたループが必要です。

foreach($xml->mi as $mi)
{
    foreach($mi->mv as $subchild)
    {
        ...
        insert row
        ...
    }
}

これは各<mi>ノードをループし、続いてノードに<mv>含まれる各ノードをループします。

于 2013-06-26T07:58:53.330 に答える
0

データの内容が異なる2つの配列がある場合のコードは次のとおりです

$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++;
                }
            }
        }
于 2013-07-03T03:39:26.013 に答える