unified

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

Package: xast-util-from-xml@2.0.1

  1. Dependents: 3
  2. xast utility to parse from XML
  1. util 144
  2. utility 140
  3. unist 128
  4. tree 41
  5. ast 33
  6. syntax 27
  7. parse 22
  8. markup 19
  9. language 11
  10. xast 8
  11. xml 8
  12. xast-util 7
  13. extensible 2

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 'node:fs'
import {fromXml} from 'xast-util-from-xml'

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

const 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.

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