Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    xmldompublic

    XMLDOM Build Status Coverage Status NPM version

    A JavaScript implementation of W3C DOM for Node.js, Rhino and the browser. Fully compatible with W3C DOM level2; and some compatible with level3. Supports DOMParser and XMLSerializer interface such as in browser.

    Install:

    npm install xmldom

    Example:

    var DOMParser = require('xmldom').DOMParser;
    var doc = new DOMParser().parseFromString(
        '<xml xmlns="a" xmlns:c="./lite">\n'+
            '\t<child>test</child>\n'+
            '\t<child></child>\n'+
            '\t<child/>\n'+
        '</xml>'
        ,'text/xml');
    doc.documentElement.setAttribute('x','y');
    doc.documentElement.setAttributeNS('./lite','c:x','y2');
    var nsAttr = doc.documentElement.getAttributeNS('./lite','x')
    console.info(nsAttr)
    console.info(doc)

    API Reference

    • DOMParser:

      parseFromString(xmlsource,mimeType)
      • options extension by xmldom(not BOM standard!!)
      //added the options argument
      new DOMParser(options)
       
      //errorHandler is supported
      new DOMParser({
          /**
           * locator is always need for error position info
           */
          locator:{},
          /**
           * you can override the errorHandler for xml parser
           * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
           */
          errorHandler:{warning:function(w){console.warn(w)},error:callback,fatalError:callback}
          //only callback model
          //errorHandler:function(level,msg){console.log(level,msg)}
      })
          
    • XMLSerializer

      serializeToString(node)

    DOM level2 method and attribute:

    • Node

       attribute:
       	nodeValue|prefix
       readonly attribute:
       	nodeName|nodeType|parentNode|childNodes|firstChild|lastChild|previousSibling|nextSibling|attributes|ownerDocument|namespaceURI|localName
       method:	
       	insertBefore(newChild, refChild)
       	replaceChild(newChild, oldChild)
       	removeChild(oldChild)
       	appendChild(newChild)
       	hasChildNodes()
       	cloneNode(deep)
       	normalize()
       	isSupported(feature, version)
       	hasAttributes()
      
    • DOMImplementation

       method:
       	hasFeature(feature, version)
       	createDocumentType(qualifiedName, publicId, systemId)
       	createDocument(namespaceURI, qualifiedName, doctype)
      
    • Document : Node

       readonly attribute:
       	doctype|implementation|documentElement
       method:
       	createElement(tagName)
       	createDocumentFragment()
       	createTextNode(data)
       	createComment(data)
       	createCDATASection(data)
       	createProcessingInstruction(target, data)
       	createAttribute(name)
       	createEntityReference(name)
       	getElementsByTagName(tagname)
       	importNode(importedNode, deep)
       	createElementNS(namespaceURI, qualifiedName)
       	createAttributeNS(namespaceURI, qualifiedName)
       	getElementsByTagNameNS(namespaceURI, localName)
       	getElementById(elementId)
      
    • DocumentFragment : Node

    • Element : Node

       readonly attribute:
       	tagName
       method:
       	getAttribute(name)
       	setAttribute(name, value)
       	removeAttribute(name)
       	getAttributeNode(name)
       	setAttributeNode(newAttr)
       	removeAttributeNode(oldAttr)
       	getElementsByTagName(name)
       	getAttributeNS(namespaceURI, localName)
       	setAttributeNS(namespaceURI, qualifiedName, value)
       	removeAttributeNS(namespaceURI, localName)
       	getAttributeNodeNS(namespaceURI, localName)
       	setAttributeNodeNS(newAttr)
       	getElementsByTagNameNS(namespaceURI, localName)
       	hasAttribute(name)
       	hasAttributeNS(namespaceURI, localName)
      
    • Attr : Node

       attribute:
       	value
       readonly attribute:
       	name|specified|ownerElement
      
    • NodeList

       readonly attribute:
       	length
       method:
       	item(index)
      
    • NamedNodeMap

       readonly attribute:
       	length
       method:
       	getNamedItem(name)
       	setNamedItem(arg)
       	removeNamedItem(name)
       	item(index)
       	getNamedItemNS(namespaceURI, localName)
       	setNamedItemNS(arg)
       	removeNamedItemNS(namespaceURI, localName)
      
    • CharacterData : Node

       method:
       	substringData(offset, count)
       	appendData(arg)
       	insertData(offset, arg)
       	deleteData(offset, count)
       	replaceData(offset, count, arg)
      
    • Text : CharacterData

       method:
       	splitText(offset)
      
    • CDATASection

    • Comment : CharacterData

    • DocumentType

       readonly attribute:
       	name|entities|notations|publicId|systemId|internalSubset
      
    • Notation : Node

       readonly attribute:
       	publicId|systemId
      
    • Entity : Node

       readonly attribute:
       	publicId|systemId|notationName
      
    • EntityReference : Node

    • ProcessingInstruction : Node

       attribute:
       	data
       readonly attribute:
       	target
      

    DOM level 3 support:

    • Node

       attribute:
       	textContent
       method:
       	isDefaultNamespace(namespaceURI){
       	lookupNamespaceURI(prefix)
      

    DOM extension by xmldom

    • [Node] Source position extension;

       attribute:
       	//Numbered starting from '1'
       	lineNumber
       	//Numbered starting from '1'
       	columnNumber
      

    install

    npm i xmldom

    Downloadsweekly downloads

    965,551

    version

    0.1.27

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar