如何在javascript Nashorn引擎中解析XML
How to parse XML in javascript Nashorn engine?
我正在尝试在服务器端运行javascript(使用Nashorn),并在javascript代码中解析XML文件。默认情况下我们不能这样做:我们需要加载一些特定的.js库(DOMParser等)。
我尝试使用Node.js模块'XMLDOM',它可以在没有Node的情况下使用.js如下所示 https://github.com/jindw/xmldom/wiki/How-to-use-xmldom-in-non-node.js-JavaScript-platforms-like-Rhino-or-SpiderMonkey:
但是这个页面带来了一个新问题:我们需要将这些.js文件的加载封装在对象中,他们给了我们一个例子:
var dpObj = {};
loadObject ( dpObj, "dom-parser.js" );
(如果我们只是以经典方式加载.js文件,则不起作用)
我不知道如何编写这样的"loadObject"函数,但它可能是解决方案。也许我们也可以使用 Nashorn 中的"必需"库?也许有一个很好的替代XMLDOM模块?
有什么建议吗?
PS 1:我已经尝试将"env.rhino.1.2.js"(http://www.envjs.com)作为XMLDOM模块替代,但该脚本甚至无法由Nashorn加载...
PS 2:我也尝试在 Java 中解析 XML 并在 Javascript 中使用结果,但我不知道如何转换对象(我插入了一个 org.w3c.dom.Document 对象,但这与 javascript dom 文档不同...例如,我缺少gesDescendant方法或类似的东西)。
Nashorn 支持 load 和 loadWithNewGlobal 原语。
"load"将脚本从URL,文件加载到当前全局范围内。
'loadWithNewGlobal' 将给定的脚本加载到新的全局范围内。这将避免使用加载的脚本文件/URL 中的全局定义污染当前全局范围。
有关这些的更多信息,请访问"openjdk nashorn extensions"wiki。
(不相关)您实际上可以使用Java XML解析器API来解析XML文档,因为nashorn支持从脚本代码调用任意Java API。您可以使用Object.bindProperties(nashorn wiki中记录的另一个扩展)进行转换
- 我应该如何从xml文件构建一个javascript页面
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 谷歌文档表面引擎
- 将XML转换为普通的旧JavaScript对象
- jQuery AJAX write to XML
- 如何将childNodes用于XML文档
- 在javascript中的xml中创建一个链接
- 自定义运行时Can'在谷歌应用引擎中看不到我的自定义日志
- JSON到XML的转换
- SVG xml to image
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 从js引擎的角度来看闭包和构造函数是如何工作的
- 显示IIS上javascript文件(SOAP请求)的XML响应
- 在Javascript中循环使用XML
- Javascript-模板引擎
- 如何使用jQuery验证引擎验证组
- javascript中的表达式引擎字段
- 谷歌电子表格的自定义xml解析功能
- Windows 8 Javascript应用程序XML对象
- 如何在javascript Nashorn引擎中解析XML