xast-util-from-xml

xast utility to parse from XML

Stats

StarsIssuesVersionUpdatedCreatedSize
xast-util-from-xml
402.0.18 months ago2 years agoMinified + gzip package size for xast-util-from-xml in KB

Readme

xast-util-from-xml

Build Coverage Downloads Size Sponsors Backers Chat

xast utility to parse from XML.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install xast-util-from-xml

Use

Say we have the following XML file, example.xml:

<album id="123">
  <name>Born in the U.S.A.</name>
  <artist>Bruce Springsteen</artist>
  <releasedate>1984-04-06</releasedate>
</album>

And our script, example.js, looks as follows:

import fs from 'fs'
import {fromXml} from 'xast-util-from-xml'

var doc = fs.readFileSync('example.xml')

var tree = fromXml(doc)

console.log(tree)

Now, running node example yields (positional info removed for brevity):

{
  type: 'root',
  children: [
    {
      type: 'element',
      name: 'album',
      attributes: {id: '123'},
      children: [
        {type: 'text', value: '\n  '},
        {
          type: 'element',
          name: 'name',
          attributes: {},
          children: [{type: 'text', value: 'Born in the U.S.A.'}]
        },
        {type: 'text', value: '\n  '},
        {
          type: 'element',
          name: 'artist',
          attributes: {},
          children: [{type: 'text', value: 'Bruce Springsteen'}]
        },
        {type: 'text', value: '\n  '},
        {
          type: 'element',
          name: 'releasedate',
          attributes: {},
          children: [{type: 'text', value: '1984-04-06'}]
        },
        {type: 'text', value: '\n'}
      ]
    },
    {type: 'text', value: '\n'}
  ]
}

API

This package exports the following identifiers: fromXml. There is no default export.

fromXml(doc)

Parse XML to a xast tree.

Parameters
doc

Value to parse (string or Buffer in UTF-8).

Returns

Root.

Security

XML can be a dangerous language: don’t trust user-provided data.

Related

Contribute

See contributing.md in syntax-tree/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MIT © Titus Wormer

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.