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 107
  2. utility 105
  3. unist 97
  4. tree 40
  5. syntax 30
  6. ast 27
  7. parse 20
  8. language 12
  9. xast 5
  10. xml 5
  11. extensible 2
  12. markup 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