xml-utils

    0.2.0 • Public • Published

    xml-utils

    The lightest XML parsing library. Only import the functions that you need.

    install

    npm install xml-utils
    

    usage

    get attribute

    const getAttribute = require('xml-utils/src/get-attribute');
    const xml = `<MDI key="INTERLEAVE">PIXEL</MDI>`;
    const key = getAttribute(xml, 'key');
    console.log(key);
    // INTERLEAVE

    find one tag by name

    const findTagByName = require('xml-utils/src/find-tag-by-name');
     
    const xml = `<Metadata domain="IMAGE_STRUCTURE"><MDI key="INTERLEAVE">PIXEL</MDI></Metadata>`
    const tag = findTagByName(xml, 'MDI');
    console.log(tag);

    will output:

    {
      outer: "<MDI key="INTERLEAVE">PIXEL</MDI>",
      inner: "PIXEL"
    }

    find multiple tags with the same name

    const findTagsByName = require('xml-utils/src/find-tags-by-name');
    const xml = `
        <Metadata>
          <MDI key="SourceBandIndex">1</MDI>
          <MDI key="STATISTICS_MAXIMUM">255</MDI>
          <MDI key="STATISTICS_MEAN">96.372431147996</MDI>
          <MDI key="STATISTICS_MINIMUM">0</MDI>
          <MDI key="STATISTICS_STDDEV">50.057898474622</MDI>
        </Metadata>
    `;
    const tags = findTagsByName(xml, 'MDI');
    // will output an array of tags

    find one tag by path

    const findTagByPath = require('xml-utils/src/find-tag-by-path');
    const xml = `
           <gmd:referenceSystemIdentifier>
             <gmd:RS_Identifier>
               <gmd:code>
                 <gco:CharacterString>4326</gco:CharacterString>
               </gmd:code>
               <gmd:codeSpace>
                 <gco:CharacterString>EPSG</gco:CharacterString>
               </gmd:codeSpace>
               <gmd:version>
                 <gco:CharacterString>6.11</gco:CharacterString>
               </gmd:version>
             </gmd:RS_Identifier>
           </gmd:referenceSystemIdentifier>
           `;
    const tag = findTagByPath(xml, ['gmd:RS_Identifier', 'gmd:code', 'gco:CharacterString']);

    find multiple tags by path

    To get an array of tags that follow a path:

    const findTagsByPath = require('xml-utils/src/find-tags-by-path');
    const tags = findTagByPath(xml, ['Metadata', 'MDI']);
    // will output an array of tags

    setup

    download test files with:

    npm run setup

    test

    npm run test

    contact

    Post an issue at https://github.com/DanielJDufour/xml-utils/issues or email the package author at daniel.j.dufour@gmail.com

    Install

    npm i xml-utils

    DownloadsWeekly Downloads

    171

    Version

    0.2.0

    License

    CC0-1.0

    Unpacked Size

    17.9 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar