【问题标题】:Insert tag into selected text of XML file in WebView in JavaFX8在JavaFX8的WebView中将标签插入XML文件的选定文本中
【发布时间】:2016-11-03 04:56:57
【问题描述】:

从显示在 WebView 中的 XML 文件,我希望能够用鼠标选择文本,当按下按钮时,为该选择添加一个唯一的 XML 标记。

示例 XML 文件片段:

<p>
    some text that is in this paragraph
</p>

如果我从上面选择“就是”,然后按下按钮,它应该会导致:

<p>
    some text <x id="foo">that is</x> in this paragraph
</p>

&lt;x&gt; 是一个特殊标签,我将用于我自己的目的。它可能具有属性,例如 id 或其他东西。

我发现我可以使用一些 JS 代码来收集有关 HTML 标签的信息并在给定标签中定位选定的文本,但我不知道如何获得“绝对”位置。我也不知道如何将 XML 标记注入 XML 文件。或者我应该把它当作 HTMLEditor 什么的?我只是不希望用户能够更改 XML 文件,除非以这种特殊方式。

有什么想法吗?非常感谢。

【问题讨论】:

  • 我发现我可以使用这个webEngine.executeScript("window.getSelection().getRangeAt(0).insertNode(document.createElement(\"p\"))");添加一个段落,但它实际上并没有改变底层文件。

标签: xml webview javafx-8


【解决方案1】:

执行的脚本只是改变内存中存在的 DOM。您需要使用 webEngine.getDocument() ,然后将其写在底层文件上。 This answer 描述了这部分是如何完成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-10
    • 2021-11-08
    • 2017-03-30
    • 2019-05-05
    • 2010-12-30
    • 2017-06-01
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多