php 解析xml

<?php

header("Content-Type:text/html;charset=utf8");
$reqXml = '  
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
    <yemadai>  
        <errCode>0000</errCode>  
        <transferList>  
            <resCode>0000</resCode>  
            <transId>test1001</transId>  
            <accountName>asfdsf</accountName>  
            <cardNo>asfd</cardNo>  
            <amount>100.00</amount>  
            <remark>测试转账</remark>  
            <secureCode>ASDFASF234234FASFAS23ASQ2W3</secureCode>  
        </transferList>  
        <transferList>  
            <resCode>ERR001</resCode>  
            <transId>test1002</transId>  
            <accountName>asdfsaf</accountName>  
            <cardNo>asdfas</cardNo>  
            <amount>1000.05</amount>  
            <remark>测试转账</remark>  
            <secureCode>ASDFASF234234FASFAS23ASQ2W3</secureCode>  
        </transferList>  
    </yemadai>  
    ';


$content = <<<XML
            $reqXml
XML;
$content = trim($content);

//第一种解析方案:获取某个对象值
/*        $test = new SimpleXMLElement(trim($content));
          print_r($test);
 * 
 */
//第二种解析方案:
/*
  $xml = simplexml_load_string($content); //创建 SimpleXML对象
  //$xml = simplexml_load_file('example.xml'); //创建 SimpleXML对象
  print_r($xml); //输出 XML
 */
function xmlToArray($content) {

    //禁止引用外部xml实体 
    libxml_disable_entity_loader(true);

    $xmlstring = simplexml_load_string($content, 'SimpleXMLElement', LIBXML_NOCDATA);

    $val = json_decode(json_encode($xmlstring), true);

    return $val;
}

print_r(xmlToArray($content));
原文地址:https://www.cnblogs.com/blts/p/9041281.html