Skip to content

✨Blazing fast XML parser to deal with Inspire and OGC standards ✨

License

Notifications You must be signed in to change notification settings

geodatagouv/parsers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

inspire-parser

Powerful XML parser to deal with Inspire and OGC standards

npm version Circle CI Coverage Status Dependency Status

Prerequisite

  • Node.js >= 6.0
  • OR Babel for older Node.js versions + browser

Usage (CLI)

Installation

npm install -g inspire-parser

CLI

cat metadata.xml | inspire2json

Usage (library)

Installation

npm install inspire-parser

Basic

const parse = require('inspire-parser').parse;

const xmlString = `<csw:Record xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/">
  <dc:title>Prochains passages temps réel du réseau TCL</dc:title>
  <dc:subject>Réseaux de transport</dc:subject>
  <dc:subject>Services d'utilité publique et services publics</dc:subject>
</csw:Record>`;

parse(xmlString, (err, result) => {
    console.log(result.type); // print parsed element type: Record
    console.log(JSON.stringify(result.body, true, 4)); // Print parsed result below
});

Result (very basic example):

{
    "title": "Prochains passages temps réel du réseau TCL",
    "subject": [
        "Réseaux de transport",
        "Services d'utilité publique et services publics"
    ]
}

Stream

const fs = require('fs');
const Parser = require('inspire-parser').Parser;

const parser = new Parser();
const xmlStream = fs.createReadStream(pathToXmlFile);

xmlStream.pipe(parser).once('result', result => {
    console.log(result.type); // print parsed element type
    console.log(JSON.stringify(result.body, true, 4)); // Print parsed result in JSON
});

About

✨Blazing fast XML parser to deal with Inspire and OGC standards ✨

Resources

License

Stars

Watchers

Forks

Packages

No packages published