2016-04-14 96 views
1

我以xml格式獲取輸出結果。我想要獲取每個<field>name值,如awb_number,order_id,actual_weight等。如何獲取每個名稱值。從php中獲取xml數據的值

<ecomexpress-objects version="1.0"> 
    <object pk="1" model="awb"> 
    <field type="BigIntegerField" name="awb_number">700054480</field> 
    <field type="CharField" name="orderid">5012</field> 
    <field type="FloatField" name="actual_weight">0.5</field> 
    <field type="CharField" name="origin">DELHI-DSW</field> 
    <field type="CharField" name="destination">DELHI-DLN</field> 
    <field type="CharField" name="customer">Ecom Express Private Limited - 32012</field> 
    <field type="CharField" name="consignee">MUKESH KUMAR GUPTA</field> 
    <field type="CharField" name="pickupdate">11-Feb-2013</field> 
    <field type="CharField" name="status">Delivered/Closed</field> 
    <field type="CharField" name="reason_code"/> 
    <field type="CharField" name="reason_code_description"/> 
    <field type="CharField" name="reason_code_number">999</field> 
    <field type="CharField" name="receiver">mukesh 9999488339</field> 
    <field type="CharField" name="expected_date">12-Feb-2013</field> 
    <field type="CharField" name="last_update_date">05-Apr-2013</field> 
    <field type="CharField" name="delivery_date">2013-02-17 11:26:00</field> 
    <field type="CharField" name="ref_awb">None</field> 
    <field type="CharField" name="rts_shipment"/> 
    <field type="CharField" name="system_delivery_update">2013-02-17 11:26:00</field> 
    <field type="CharField" name="rts_system_delivery_status"/> 
    </object> 
</ecomexpress-objects> 

我曾嘗試下面的代碼,但我不能從XML等顯示像文本awb_number,order_id,actual_weight

$xml = new SimpleXMLElement($server_output); 
foreach($xml->object->field as $key =>$value) 
{ 
    //foreach($element as $key => $value) 
     echo($key .'-' .$value)."<br>"; 


} 

回答

1

name不是節點值,它是一個節點屬性。要檢索其值,必須使用數組語法:

echo $value['name']; // Output for first field: awb_number 
echo $value;   // Output for first field: 700054480