用纯JavaScript编写的XML解析器,用于嵌入式环境 [英] XML parser written in pure javascript for embedded environments

查看:42
本文介绍了用纯JavaScript编写的XML解析器,用于嵌入式环境的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种解析器,该解析器可以在无法访问 document DOMParser 或任何其他浏览器扩展程序的javascript环境中运行.javascript应用程序可以在node.js的浏览器(IE,Firefox,Chrome,Safari ...)中运行,但它注定主要运行在V8或SpiderMonkey环境中.该环境是分布式的,不支持常规的XML解析器,而且我无法从javascript解析包含有效XML的字符串.

I'm looking for a parser which can run in a javascript environment where there is no access to document, DOMParser or any other browser extension. The javascript application can run in browsers (IE, Firefox, Chrome, Safari...) in node.js but it is destined to run mainly embedded in a V8 or in a SpiderMonkey environment. The environment is distributed without support for the usual XML parsers and I am unable to parse a string containing valid XML from javascript.

所有依赖于诸如 DOMParser ActiveXObject 之类的浏览器扩展的库都将失败,并显示诸如 ReferenceError:DOMParser未定义 这样的消息.strong>.

All libraries which rely on browser extensions like DOMParser and ActiveXObject fail with messages like ReferenceError: DOMParser is not defined.

不需要访问文件系统(我需要从字符串解析为类似DOM的结构).

Access to file system is not necessary (I need to parse from string to a DOM-like structure).

推荐答案

marknote 此处所述,a>是正确的解决方案(感谢Pekka웃).从远程位置加载时,该库使用XMLHttpRequest,但从字符串进行解析时,它集成了一个用javascript编写的独立XML解析器,这使其适合在嵌入式解释器中使用:

marknote is the right solution as noted here (thanks to Pekka 웃). The library uses XMLHttpRequest when loading from remote locations, but when parsing from a string it integrates a standalone XML parser written in javascript, which makes it suitable for use in embedded interpreters :

var text="<note>";
text=text+"<content>whatever blablabla</content>";
text=text+"</note>";


var parser = new marknote.Parser();
var doc = parser.parse(text);

native.log(doc.toString()); // show the formatted XML

这篇关于用纯JavaScript编写的XML解析器,用于嵌入式环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆