wxml parser and serializer.
yarn add wxml or npm i wxml --save
import * as wxml from 'wxml'; const parsed = wxml.parse('<view></view>'); wxml.traverse(parsed, function visitor(node, parent) { const type = node.type; const parentNode = node.parentNode; if (type === wxml.NODE_TYPES.ELEMENT) { // handle element node const tagName = node.tagName; const attributes = node.attributes; // an object represents the attributes const childNodes = node.childNodes; const selfClosing = node.selfClosing; // if a node is self closing, like `<tag />` } else if (type === wxml.NODE_TYPES.TEXT) { // handle text node const textContent = node.textContent; } else if (type === wxml.NODE_TYPES.COMMENT) { // handle comment node const comment = node.comment; } }); const serialized = wxml.serialize(parsed);
(input: string) => AST
(node: Node, visitor: (node: Node, parent: Node) => void) => void
(node: Node) => string