forgiving-xml-parser
    TypeScript icon, indicating that this package has built-in type declarations

    1.4.0 • Public • Published

    forgiving-xml-parser

    Build Status image image image

    Enligsh | 简体中文

    An XML/HTML parser and serializer for JavaScript. Playground

    spec

    Features

    • Transform XML/HTML to JSON(carry code locationInfo or parse steps)
    • Transform JSON back to XML
    • Works with node packages, in browser(like browser such as Miniprogram)
    • Various options are available to customize the transformation
      • custom parsing behavior(souch as allow node-name is empty)
      • supported events
      • custom node parser

    Usage

    • 1.install
    # using npm
    npm i forgiving-xml-parser -S
    # using yarn
    yarn add forgiving-xml-parser
    • 2.include
    // in node
    const ForgivingXmlParser = require('forgiving-xml-parser');
    const json = ForgivingXmlParser.parse('...');
    
    // in webpack
    import {parse, serialize, ...} from 'forgiving-xml-parser';
    const json = parse('...');
    <!-- in browser -->
    <script src="xxx/forgiving-xml-parser.js"></script>
    <script>
        // global variable
        const json = ForgivingXmlParser.parse("...");
    </script>
    • 3.use
    const { parse, serialize, parseResultToJSON, FxParser } = require("forgiving-xml-parser");
    
    const xml = `<p>hi xml</p>`;
    const json = parseResultToJSON(parse(xml), {
        allowAttrContentHasBr: true,
        allowNodeNameEmpty: true,
        allowNodeNotClose: true,
        allowStartTagBoundaryNearSpace: true,
        allowEndTagBoundaryNearSpace: true,
        allowTagNameHasSpace: true,
        allowNearAttrEqualSpace: true,
        ignoreTagNameCaseEqual: false,
        onEvent(type, context, data) {},
    }); // { "nodes": [{ "type": "element", "name": "p", "children": [{ "type": "text", "content": "hi xml" }] }] }
    
    serialize(json); // <p>hi xml</p>
    
    const fxParser = new FxParser();
    const json2 = parseResultToJSON(fxParser.parse(xml));
    console.log(JSON.stringify(json2) === JSON.stringify(json)); // true
    console.log(fxParser.serialize(json2) === serialize(json)); // true
    Event trigger timing

    Legend

    Install

    npm i forgiving-xml-parser

    DownloadsWeekly Downloads

    3

    Version

    1.4.0

    License

    BSD-3-Clause

    Unpacked Size

    910 kB

    Total Files

    30

    Last publish

    Collaborators

    • avatar