Maison  >  Article  >  interface Web  >  nodejs analyse la chaîne XML en instance d'objet

nodejs analyse la chaîne XML en instance d'objet

小云云
小云云original
2018-03-16 09:04:432330parcourir

Cet article présente principalement la méthode de nodejs pour analyser les chaînes XML en objets. Il implique les compétences opérationnelles de nodejs pour analyser et convertir les chaînes au format XML. J'espère que cela pourra aider tout le monde.


var xmlreader = require("xmlreader");
var fs = require("fs");
var xml_string = &#39;<response id="1" shop="aldi">&#39;
      +    &#39;This is some other content&#39;
      +    &#39;<who name="james">James May</who>&#39;
      +    &#39;<who name="sam">&#39;
      +      &#39;Sam Decrock&#39;
      +      &#39;<location>Belgium</location>&#39;
      +    &#39;</who>&#39;
      +    &#39;<who name="jack">Jack Johnsen</who>&#39;
      +    &#39;<games age="6">&#39;
      +      &#39;<game>Some great game</game>&#39;
      +      &#39;<game>Some other great game</game>&#39;
      +    &#39;</games>&#39;
      +    &#39;<note>These are some notes</note>&#39;
      +  &#39;</response>&#39;;
xmlreader.read(xml_string, function(errors, response){
  if(null !== errors ){
    console.log(errors)
    return;
  }
  console.log( response.response );
  console.log( response.response.text() );
});

Rien de nouveau, jetons un œil au résultat

Le résultat de sortie de la première phrase est :


{
  attributes : [Function],
  parent : [Function],
  count : [Function],
  at : [Function],
  each : [Function],
  text : [Function],
  who : {
    array : [[Object], [Object], [Object]],
    count : [Function],
    at : [Function],
    each : [Function]
  },
  games : {
    attributes : [Function],
    parent : [Function],
    count : [Function],
    at : [Function],
    each : [Function],
    game : {
      array : [Object],
      count : [Function],
      at : [Function],
      each : [Function]
    }
  },
  note : {
    attributes : [Function],
    parent : [Function],
    count : [Function],
    at : [Function],
    each : [Function],
    text : [Function]
  }
}

Le résultat de la deuxième phrase :


This is some other content

Sur la base du résultat, nous pouvons deviner de quoi il s'agit.

1. xmlreaderConvertir XML en objet JSON (cette expression n'est pas exacte, mais tout le monde sait ce que c'est).
2. La structure imbriquée de l'objet JSON converti est la même que la structure imbriquée de la balise XML d'origine.
3. En fonction du nombre de fois qu'une certaine balise apparaît au même niveau dans XML (une et plusieurs fois), différents objets correspondants seront générés une fois, et qui l'est trois fois.
4. Fournit certaines fonctions pour exploiter les attributs ou le parcours, etc.

Signification de la méthode :

1. attributs : Obtenez tous les attributs.
2. parent : Obtenez le nœud parent.
3. compte : obtenez le numéro.
4, at : récupère le nœud dont l'indice est la valeur spécifiée.
5, each : parcours, le paramètre est une fonction.
6. text : Obtenez le texte dans le nœud, uniquement le texte du nœud actuel, à l'exclusion du texte des nœuds enfants.

Recommandations associées :

Comment implémenter l'analyse PHP XML et générer des instructions SQL

Classe d'outils de données au format XML d'analyse PHP Exemple de partage

Quatre façons d'analyser XML

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn