Maison Bibliothèques PHP Autres bibliothèques Format de données PHP et classe de conversion XML
Format de données PHP et classe de conversion XML
<?php
function xml2array($contents, $get_attributes = 1, $priority = 'tag') {
  if (!$contents) return array();
  if (!function_exists('xml_parser_create')) {
    // print "'xml_parser_create()' function not found!";
    return array();
  }
  // Get the XML parser of PHP - PHP must have this module for the parser to work
  $parser = xml_parser_create('');
  xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8"); // http://minutillo.com/steve/weblog/2004/6/17/php-xml-and-character-encodings-a-tale-of-sadness-rage-and-data-loss
  xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
  xml_parse_into_struct($parser, trim($contents), $xml_values);
  xml_parser_free($parser);
  if (!$xml_values) return; //Hmm...
  // Initializations
  $xml_array = array();
  $parents = array();
  $opened_tags = array();
  $arr = array();
  $current = &$xml_array; //Refference
  // Go through the tags.
  $repeated_tag_index = array(); //Multiple tags with same name will be turned into an array
  foreach($xml_values as $data) {
    unset($attributes, $value); //Remove existing values, or there will be trouble
    // This command will extract these variables into the foreach scope
    // tag(string), type(string), level(int), attributes(array).
    extract($data); //We could use the array by itself, but this cooler.
    $result = array();
    $attributes_data = array();
    if (isset($value)) {
      if ($priority == 'tag') $result = $value;
      else $result['value'] = $value; //Put the value in a assoc array if we are in the 'Attribute' mode
    }

Il s'agit d'une bibliothèque de classes qui peut convertir entre les formats XML et de données. Les amis qui en ont besoin peuvent la télécharger et l'utiliser.

Clause de non-responsabilité

Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn

Article connexe

Comment jQuery simplifie-t-il la manipulation du DOM pour les développeurs Web ? Comment jQuery simplifie-t-il la manipulation du DOM pour les développeurs Web ?

03 Jan 2025

Overflow : Hidden and Expansion of HeightjQuery se distingue des autres bibliothèques JavaScript par sa compatibilité multiplateforme et...

Comment ajouter des bibliothèques externes à mes projets Qt Creator ? Comment ajouter des bibliothèques externes à mes projets Qt Creator ?

29 Dec 2024

Ajout de bibliothèques externes aux projets Qt CreatorL'intégration de bibliothèques externes dans des projets Qt Creator vous permet d'exploiter des bibliothèques préexistantes...

Gérez les doublons dans votre Bitwarden Vault avec Python Gérez les doublons dans votre Bitwarden Vault avec Python

05 Jan 2025

Bitwarden ne dispose pas de méthode intégrée pour gérer les doublons dans votre coffre-fort. Je n'étais pas satisfait des autres bibliothèques créées par les utilisateurs que j'ai trouvées, alors j'ai créé un outil basé sur Python pour aider à automatiser le processus. Caractéristiques Filtrer les entrées par

Comment les bibliothèques peuvent-elles accéder aux paramètres de configuration sans utiliser app.config ? Comment les bibliothèques peuvent-elles accéder aux paramètres de configuration sans utiliser app.config ?

01 Jan 2025

Fournir des paramètres de configuration pour les bibliothèques : une alternative à App.configContrairement aux applications exécutables, les bibliothèques (DLL) n'ont pas de...

Comment intégrer des bibliothèques externes dans les artefacts IntelliJ IDEA ? Comment intégrer des bibliothèques externes dans les artefacts IntelliJ IDEA ?

23 Dec 2024

Incorporation de bibliothèques externes dans les artefacts IntelliJ IDEAPour intégrer de manière transparente des bibliothèques externes dans vos artefacts IntelliJ IDEA,...

Quelles bibliothèques Java SQL Parser offrent une analyse et une transformation personnalisables ? Quelles bibliothèques Java SQL Parser offrent une analyse et une transformation personnalisables ?

18 Jan 2025

Bibliothèques d'analyseurs SQL pour JavaPour les développeurs recherchant une bibliothèque d'analyseurs SQL open source en Java, plusieurs options sont disponibles. Ces bibliothèques...

See all articles