Я пытаюсь запустить javascript на стороне сервера (с помощью Nashorn) и, внутри javascript-кода, проанализировать XML-файл. Мы не можем сделать это по умолчанию: нам нужно загрузить определенную библиотеку .js (DOMParser и т. Д.).Как разобрать XML в javascript Nashorn engine?
Я tryied использовать модуль 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», но это может быть решение. Может быть, мы могли бы также использовать библиотеку «требовать» в Нашорне? Может быть, есть хорошая альтернатива модулю XMLDOM?
Любые предложения?
PS 1: Я tryied 'env.rhino.1.2.js' (http://www.envjs.com) как модуль XMLDOM alternive, но этот сценарий не может даже быть загружен Nashorn ...
PS 2: Я также tryied анализировать XML в Java и использовать результат в Javascript, но я не знаю, как преобразовать объект (у меня есть объект org.w3c.dom.Document, который вставлен, но это не то же самое, что и документ javascript dom. У меня, например, отсутствует метод gesDescendant или что-то в этом роде).
Спасибо! К сожалению, простая загрузка dom-parser.js не выполняется (из модуля XMLDOM Node.js): 'var dpObj = loadWithNewGlobal (" src/main/resources/js/xmldom/dom-parser.js "); печати («dpObj:» + dpObj); ' Напечатает: dpObj не определено, не определено, не определено, не определено, ... Может быть, я должен попробовать ваше второе решение – user2668735
Можете ли вы привести пример для XML разбора в java + привязка в javascript? Например, вы вводите код JS с помощью arg (java Dom Document) и должны вызвать функцию foo, в которой используется «Javascript Document». Для информации, все это для Blockly: идея состоит в том, чтобы сгенерировать JS-код на стороне сервера. Поскольку функции преобразования существуют только в JS, я должен выполнить JS-функцию внутри Nashorn. – user2668735