unified

Project: syntax-tree/xast-util-from-xml

Package: xast-util-from-xml@1.0.0

  1. Dependencies: 2·Dependents: 1
  2. xast utility to parse from XML
  1. util 118
  2. utility 114
  3. unist 110
  4. tree 42
  5. syntax 32
  6. ast 29
  7. parse 22
  8. markup 12
  9. language 12
  10. xast 5
  11. xml 5
  12. extensible 2

xast-util-from-xml

Build Coverage Downloads Size Sponsors Backers Chat

xast utility to parse from XML.

Install

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:

var fs = require('fs')
var fromXml = require('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

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.

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