Я хочу использовать JavaFX WebView в качестве средства просмотра XML. Я хочу управлять XML-документами и не должен загружать каждый из них через WebView в виде строки, но использую предварительно загруженные XML (DOM) документы.
Таким образом, в основном выполняется эквивалент отсутствующей функциональности webEngine.setDocument (doc) . Я хочу управлять документом DOM, чтобы я мог динамически вносить изменения, прикреплять события и т. Д., Что прекрасно работает, но теряется при перезагрузке XML с помощью webEngine.loadContent (String) и getDocument ().
Если это действительно невозможно, в качестве альтернативы, я могу загрузить пустой XML, используя:
webEngine.loadContent ("", "text / xml");
затем используйте getDocument (), чтобы получить верхний узел.
Пока это работает нормально, и (после завершения) я получаю пустой, но, очевидно, действительный XML-документ. Как я могу добавить к этому дочерний элемент, в частности назначить верхний элемент из моего существующего документа?
Я пробовал такие вещи, как:
webEngine.getDocumentElement().appendChild(newdoc.getDocumentElement());
или
webEngine.getDocumentElement().appendChild(newdoc.getDocumentElement().getFirstChild());
где newdoc - один из моих существующих документов DOM. Этот и другие варианты всегда приводят к ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredElementNSImpl не может быть приведен к com.sun.webkit.dom.NodeImpl
Спасибо, я ценю любую помощь!