All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.src.tool.parseXML.ts Maven / Gradle / Ivy

import { isString } from '../core/util';

/**
 * For big svg string, this method might be time consuming.
 */
export function parseXML(svg: Document | string | SVGElement): SVGElement {
    if (isString(svg)) {
        const parser = new DOMParser();
        svg = parser.parseFromString(svg, 'text/xml');
    }
    let svgNode: Node = svg;
    // Document node. If using $.get, doc node may be input.
    if (svgNode.nodeType === 9) {
        svgNode = svgNode.firstChild;
    }
    // nodeName of  is also 'svg'.
    while (svgNode.nodeName.toLowerCase() !== 'svg' || svgNode.nodeType !== 1) {
        svgNode = svgNode.nextSibling;
    }

    return svgNode as SVGElement;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy