我正在寻找一个可以在javascript环境中运行的解析器,在该环境中无法访问document
,DOMParser
或任何其他浏览器扩展。 javascript应用程序可以在node.js中的浏览器(IE,Firefox,Chrome,Safari ...)中运行,但它注定要主要运行在V8或SpiderMonkey环境中。在不支持通常的XML解析器的情况下分发环境,我无法解析包含来自javascript的有效XML的字符串。
所有依赖DOMParser
和ActiveXObject
等浏览器扩展程序的库都会失败,并显示 ReferenceError: DOMParser is not defined
等消息。
不需要访问文件系统(我需要从字符串解析为类似DOM的结构)。
答案 0 :(得分:4)
marknote是正确的解决方案here(感谢Pekka웃)。从远程位置加载时,库使用XMLHttpRequest,但是从字符串解析时,它集成了一个用javascript编写的独立XML解析器,这使得它适用于嵌入式解释器:
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
答案 1 :(得分:-3)
Checkout jQuery.parseXML - 一个基本的XML解析器。