Heim > php教程 > php手册 > php 生成xml代码

php 生成xml代码

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-05-22 18:36:19
Original
1363 Leute haben es durchsucht

php 生成xml代码class XMLParser {

 function getChildren($vals, &$i) {

  $children = array();
  if(isset($vals[$i]['value'])) {
   $children['VALUE'] = $vals[$i]['value'];
  }

  while(++$i    switch($vals[$i]['type']) {

   case 'cdata':
    if(isset($children['VALUE'])) {
     $children['VALUE'] .= $vals[$i]['value'];
    } else {
     $children['VALUE'] = $vals[$i]['value'];
    }
    break;

   case 'complete':
    if(isset($vals[$i]['attributes'])) {
     $children[$vals[$i]['tag']][]['ATTRIBUTES'] = $vals[$i]['attributes'];
     $index = count($children[$vals[$i]['tag']]) - 1;

     if(isset($vals[$i]['value'])) {
      $children[$vals[$i]['tag']][$index]['VALUE'] = $vals[$i]['value'];
     } else {
      $children[$vals[$i]['tag']][$index]['VALUE'] = '';
     }
    } else {
     if(isset($vals[$i]['value'])) {
      $children[$vals[$i]['tag']][]['VALUE'] = $vals[$i]['value'];
     } else {
      $children[$vals[$i]['tag']][]['VALUE'] = '';
     }
    }
    break;

   case 'open':
    if(isset($vals[$i]['attributes'])) {
     $children[$vals[$i]['tag']][]['ATTRIBUTES'] = $vals[$i]['attributes'];
     $index = count($children[$vals[$i]['tag']]) - 1;
     $children[$vals[$i]['tag']][$index] = array_merge($children[$vals[$i]['tag']][$index], $this->getChildren($vals, $i));
    } else {
     $children[$vals[$i]['tag']][] = $this->GetChildren($vals, $i);
    }
    break;

   case 'close':
    return $children;
   }
  }
 }

 function getXMLTree($data) {

  $parser = xml_parser_create('UTF-8');
  xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 0);
  xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  xml_parse_into_struct($parser, $data, $vals, $index);
  xml_parser_free($parser);

  $tree = array();
  $i = 0;

  if(isset($vals[$i]['attributes'])) {
   $tree[$vals[$i]['tag']][]['ATTRIBUTES'] = $vals[$i]['attributes'];
   $index = count($tree[$vals[$i]['tag']]) - 1;
   $tree[$vals[$i]['tag']][$index] =  array_merge($tree[$vals[$i]['tag']][$index], $this->getChildren($vals, $i));
  } else {
   $tree[$vals[$i]['tag']][] = $this->getChildren($vals, $i);
  }
  return $tree;
 }
}

文章链接:

随便收藏,请保留本文地址!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage