Maison  >  Article  >  interface Web  >  Exemple de la façon dont nodejs implémente l'analyse des chaînes XML dans des objets

Exemple de la façon dont nodejs implémente l'analyse des chaînes XML dans des objets

亚连
亚连original
2018-05-30 10:56:371600parcourir

Cet article présente principalement la méthode de nodejs pour analyser les chaînes XML en objets, et implique les compétences opérationnelles liées à l'analyse et à la conversion des chaînes au format XML par nodejs. Les amis dans le besoin peuvent se référer à ce qui suit

. Les exemples de cet article sont décrits. Utilisez nodejs pour implémenter la méthode d'analyse de la chaîne XML en objet. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

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, jetez simplement un œil au résultat

Le résultat de la première phrase Le résultat 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 ce qui se passe.

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 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, chacun : Traversée, 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.

Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Exemple angulaire d'utilisation de la commande d'événement d'opération ng-click pour transmettre plusieurs paramètres

Code JavaScript pour implémenter la fonction d'aperçu du téléchargement de fichiers txt

Un exemple de résumé de la façon dont Angularjs implémente la communication entre les contrôleurs

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