当前位置:Gxlcms > PHP教程 > PHPXML转换为数组函数_PHP教程

PHPXML转换为数组函数_PHP教程

时间:2021-07-01 10:21:17 帮助过:13人阅读

PHP XML转换为数组函数

  1. function xml2array($originalXML, $attributes=true)
  2. {
  3. $xmlArray = array();
  4. $search = $attributes ? |<((S )(.*))s*>(.*) function xml2array($originalXML, $attributes=true)
    {
    $xmlArray = array();
    $search = $attributes ? |<((S )(.*))s*>(.*)|Ums : |<((S )()).*>(.*)|Ums;

    // normalize data
    $xml = preg_replace(|>s*<|, "> <", $originalXML); // one tag per line
    $xml = preg_replace(||, , $xml); // remove XML declarations
    $xml = preg_replace(|<(S ?)(.*)/>|U, <$1$2>, $xml); //Expand singletons

    if (! preg_match_all($search, $xml, $xmlMatches))
    return trim($originalXML); // bail out - no XML found

    foreach ($xmlMatches[1] as $index => $key)
    {
    if (! isset($xmlArray[$key])) $xmlArray[$key] = array();
    $xmlArray[$key][] = xml2array($xmlMatches[4][$index], $attributes);
    }
    return $xmlArray;
    }
    ?>>|Ums : |<((S )()).*>(.*) function xml2array($originalXML, $attributes=true)
    {
    $xmlArray = array();
    $search = $attributes ? |<((S )(.*))s*>(.*)|Ums : |<((S )()).*>(.*)|Ums;

    // normalize data
    $xml = preg_replace(|>s*<|, "> <", $originalXML); // one tag per line
    $xml = preg_replace(||, , $xml); // remove XML declarations
    $xml = preg_replace(|<(S ?)(.*)/>|U, <$1$2>, $xml); //Expand singletons

    if (! preg_match_all($search, $xml, $xmlMatches))
    return trim($originalXML); // bail out - no XML found

    foreach ($xmlMatches[1] as $index => $key)
    {
    if (! isset($xmlArray[$key])) $xmlArray[$key] = array();
    $xmlArray[$key][] = xml2array($xmlMatches[4][$index], $attributes);
    }
    return $xmlArray;
    }
    ?>>|Ums;
  5. // normalize data
  6. $xml = preg_replace(|>s*<|, "> <", $originalXML); // one tag per line
  7. $xml = preg_replace(||, , $xml); // remove XML declarations
  8. $xml = preg_replace(|<(S ?)(.*)/>|U, <[code] function xml2array($originalXML, $attributes=true)
    {
    $xmlArray = array();
    $search = $attributes ? |<((S )(.*))s*>(.*)|Ums : |<((S )()).*>(.*)|Ums;

    // normalize data
    $xml = preg_replace(|>s*<|, "> <", $originalXML); // one tag per line
    $xml = preg_replace(||, , $xml); // remove XML declarations
    $xml = preg_replace(|<(S ?)(.*)/>|U, <$1$2>, $xml); //Expand singletons

    if (! preg_match_all($search, $xml, $xmlMatches))
    return trim($originalXML); // bail out - no XML found

    foreach ($xmlMatches[1] as $index => $key)
    {
    if (! isset($xmlArray[$key])) $xmlArray[$key] = array();
    $xmlArray[$key][] = xml2array($xmlMatches[4][$index], $attributes);
    }
    return $xmlArray;
    }
    ?>>, $xml); //Expand singletons
  9. if (! preg_match_all($search, $xml, $xmlMatches))
  10. return trim($originalXML); // bail out - no XML found
  11. foreach ($xmlMatches[1] as $index => $key)
  12. {
  13. if (! isset($xmlArray[$key])) $xmlArray[$key] = array();
  14. $xmlArray[$key][] = xml2array($xmlMatches[4][$index], $attributes);
  15. &nb

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486203.htmlTechArticlePHP XML转换为数组函数 ?php function xml2array($originalXML, $attributes=true) { $xmlArray = array(); $search = $attributes ? |((S )(.*))s*(.*)/?php function xml2array($origin...

人气教程排行