| 
				
					 | 
			3 年之前 | |
|---|---|---|
| .. | ||
| .travis.yml | 3 年之前 | |
| LICENSE | 3 年之前 | |
| __package__.js | 3 年之前 | |
| changelog | 3 年之前 | |
| component.json | 3 年之前 | |
| dom-parser.js | 3 年之前 | |
| dom.js | 3 年之前 | |
| package.json | 3 年之前 | |
| readme.md | 3 年之前 | |
| sax.js | 3 年之前 | |
 
 
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.
npm install xmldom
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)
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)}
})
        
serializeToString(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()
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
readonly attribute:
    length
method:
    item(index)
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)
Comment : CharacterData
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
attribute:
    textContent
method:
    isDefaultNamespace(namespaceURI){
    lookupNamespaceURI(prefix)
[Node] Source position extension;
attribute:
    //Numbered starting from '1'
    lineNumber
    //Numbered starting from '1'
    columnNumber