Skip to content
Convert sitemap.xml to an array of objects
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json
renovate.json

README.md

Build Status Coverage Status js-standard-style

sitemap-to-array

Convert a sitemap.xml to an array or stream of objects.

Installation

From npm

$ npm install sitemap-to-array

From GitHub

$ git clone git@github.com:zrrrzzt/sitemap-to-array.git

cd into directory and install dependencies

$ npm install

Usage - callback

Pass a sitemap, either as data or an URL to the sitemap.xml.

Example with data

'use strict'

const fs = require('fs')
const smta = require('sitemap-to-array')
const data = fs.readFileSync('test/data/sitemap.xml', 'utf-8')

smta(data, stream => {
  stream.on('error', error => {
    console.error(error)
  })
  stream.on('data', data => {
    console.log(data.toString())
  })
})

Returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"}

Example with URL

'use strict'

const smta = require('sitemap-to-array')
const sitemapUrl = 'https://raw.githubusercontent.com/zrrrzzt/sitemap-to-array/master/test/data/sitemap.xml'

smta(sitemapUrl, stream => {
  stream.on('error', error => {
    console.error(error)
  })
  stream.on('data', data => {
    console.log(data.toString())
  })
})

Returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"}

Usage - callback - without stream

'use strict'
const smta = require('sitemap-to-array')
const options = {
  returnOnComplete: true
}
const sitemapUrl = 'https://raw.githubusercontent.com/zrrrzzt/sitemap-to-array/master/test/data/sitemap.xml'

smta(sitemapUrl, options, (error, list) => {
  if (error) {
    console.error(error)
  } else {
    console.log(list)
  }
})

Returns

[ 
  { loc: 'http://www.telemark.no/Vaare-tjenester',
    lastmod: '2015-05-06T10:51:03+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser',
    lastmod: '2014-10-06T11:40:22+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Folkehelse',
    lastmod: '2015-03-13T07:35:30+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen',
    lastmod: '2015-05-24T15:56:56+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler',
    lastmod: '2015-05-22T13:46:26+00:00' } 
]

Usage - stream through

pipe a stream of sitemap.xml to the module

- Example from url

'use strict'

const smtaStream = require('sitemap-to-array').stream
const http = require('http')
const sitemap = 'https://raw.githubusercontent.com/zrrrzzt/sitemap-to-array/master/test/data/sitemap.xml'

smtaStream.on('data', data => {
  console.log(data.toString())
})

http.get(sitemap, response => {
  response
    .pipe(smtaStream)
})

returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"}

- Example from file

'use strict'

const smtaStream = require('sitemap-to-array').stream
const fs = require('fs')
const sitemap = fs.createReadStream('test/data/sitemap.xml')

smtaStream.on('data', data => {
  console.log(data.toString())
})

sitemap
  .pipe(smtaStream)

returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"} 

License

MIT

You can’t perform that action at this time.