Deno용 XML 파서
Deno용 XML 파서
SAXParser
import { SAXParser } from 'https://denopkg.com/m-kur/[email protected]/mod.ts'; // create a SAX parser instance const parser = new SAXParser(); // add SAX event handlers parser.on('start_prefix_mapping', (ns, uri) => { console.log(`mapping start ${ns}: ${uri}`); }).on('text', (text, element) => { if (element.qName === 'm:comment') { console.log(`${element.attributes[0].value}: ${text}`); } }); // run parser, input source is Deno.Reader or Uint8Array or string const file = await Deno.open('parser_test.xml'); await parser.parse(file); file.close();
풀파서
import { PullParser } from 'https://denopkg.com/m-kur/[email protected]/mod.ts'; // create a pull parser instance const parser = new PullParser(); // create an ES6 generator const file = await Deno.readFile('parser_test.xml'); const events = parser.parse(file); // pull events console.log(events.next().value); // { name: 'start_document' } console.log(events.next().value); // { name: 'processing_instruction', procInst: 'xml version='1.0' encoding='utf-8'' }
DOMParser
결국 실현될 것입니다.
감사의 말
이 XML 파서의 기본 로직은 다음의 소스 코드를 읽어서 얻었습니다. 색소폰 . 감사 해요.
다운로드 세부 정보:
작가: m-쿠르
소스 코드: https://github.com/m-kur/xmlp
#deno #nodejs #javascript #node