php解析带有命名空间的xml

xml如果带有命名空间我们将如何解析,例如:

AM14326909056859384430,产品编码为空,售达方编码为空

解析的方法:

function parseNamespaceXml($xmlstr)
{

    $xmlstr = preg_replace('/\sxmlns="(.*?)"/', ' _xmlns="${1}"', $xmlstr);
    $xmlstr = preg_replace('/<(\/)?(\w+):(\w+)/', '<${1}${2}_${3}', $xmlstr);
    $xmlstr = preg_replace('/(\w+):(\w+)="(.*?)"/', '${1}_${2}="${3}"', $xmlstr);
    $xmlobj = simplexml_load_string($xmlstr);
    return json_decode(json_encode($xmlobj), true);
}

你可能感兴趣的:(php解析带有命名空间的xml)