zoukankan      html  css  js  c++  java
  • simplexml_load_string 解析xml

    <?php
    //simplexml_load_string 解析两种类型的xml
    $res='<?xml version="1.0" encoding="UTF-8"?>
    <SYNCPacket>
    <mor><cpid>010001000249</cpid><mid>1009011719781282</mid><cpmid>1411957176</cpmid><mobile>13882524228</mobile><port>0096</port><msg>DELIVRD</msg><area>四川</area><city>遂宁</city><type>4</type><channel>1</channel><reserved></reserved></mor>
    <mor><cpid>010001000249</cpid><mid>1009011719781301</mid><cpmid>1411957175</cpmid><mobile>18719295258</mobile><port>0096</port><msg>DELIVRD</msg><area>广东</area><city>阳江</city><type>4</type><channel>1</channel><reserved></reserved></mor>
    </SYNCPacket>';
    $reStat=simplexml_load_string($res);

    foreach ($reStat->children() as $value) {
    $arr['restatus']=trim($value->msg);
    $arr['mobile']=trim($value->mobile);
    $arr['taskid']=trim($value->cpmid) ;

    $reply_arr[]=$arr;


    }
    print_r($reply_arr);


    $re='<?xml version="1.0" encoding="UTF-8"?>
    <SYNCPacket>
    <count>200</count>
    <result>0</result>
    <report>
    <mor><cpid>010001000249</cpid><mid>1009011719781282</mid><cpmid>1411957176</cpmid><mobile>13882524228</mobile><port>0096</port><msg>DELIVRD</msg><area>四川</area><city>遂宁</city><type>4</type><channel>1</channel><reserved></reserved></mor>
    <mor><cpid>010001000249</cpid><mid>1009011719781301</mid><cpmid>1411957175</cpmid><mobile>18719295258</mobile><port>0096</port><msg>DELIVRD</msg><area>广东</area><city>阳江</city><type>4</type><channel>1</channel><reserved></reserved></mor>
    </report>
    </SYNCPacket>';

    $reStat=simplexml_load_string($re);

    foreach ($reStat->report->mor as $value) {
    $arr['restatus']=trim($value->msg);
    $arr['mobile']=trim($value->mobile);
    $arr['taskid']=trim($value->cpmid) ;

    $reply_arr[]=$arr;


    }
    print_r($reply_arr);


    $xml='<xml name="sendBatch" result="1">
    <Item cid="333" sid="333" msgid="111" total="1" price="0.10" remain="170.040"/>
      <Item cid="444" sid="444" msgid="222" total="1" price="0.10" remain="169.940"/>
    </xml>';
    $re=simplexml_load_string(utf8_encode($xml));
    if($re['result']==1)
    {
    foreach ($re->Item as $item)
    {
    $stat['msgid'] =trim((string)$item['msgid']);
    $stat['total']=trim((string)$item['total']);
    $stat['price']=trim((string)$item['price']);
    $stat['remain']=trim((string)$item['remain']);
    $stat_arr[]=$stat;

    }
    print_r($stat_arr);

    }
    ?>

  • 相关阅读:
    LFU
    poj 3581 -- 后缀数组
    leetcode 679
    poj 两条线段接雨水
    poj 1696极角排序
    判断平面上是否有一条直线与所有线段相交
    洛谷P3808 【模板】AC自动机(简单版)
    Most Distant Point from the Sea UVA
    P2742 [USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包
    P2249
  • 原文地址:https://www.cnblogs.com/cwl168/p/4016255.html
Copyright © 2011-2022 走看看