Как получить узел XML Dom, где находится мой курсор в Eclipse?

Как мне получить узел xml dom и xpath, где находится мой курсор, в пользовательском XML-редакторе Eclipse, который я создаю. Это текстовый редактор. Я пока реализую IContentAssistProcessor.


person user3418847    schedule 25.06.2017    source источник
comment
У Eclipse нет ничего, что могло бы это сделать.   -  person greg-449    schedule 25.06.2017
comment
@ greg-449 greg-449 путь в стиле XPath к текущему выбранному элементу XML уже отображается в строке состояния окна Eclipse. Базовый редактор xml в eclipse имеет эту функцию. Если нет способа получить узел xml DOM, как он вычисляет путь в стиле XPath в зависимости от того, где находится курсор?   -  person user3418847    schedule 05.07.2017
comment
Я считаю, что редактор, о котором вы говорите, является частью Eclipse WTP, а не ядром Eclipse. То, что он показывает, далеко не полное выражение XPath, оно вообще не имеет дело с уникально идентифицирующими элементами.   -  person greg-449    schedule 05.07.2017


Ответы (1)


Вы можете получить позицию курсора в текстовом редакторе, и вы можете реализовать средство чтения XML, которое сохраняет местоположения узлов XML с помощью локатора SAX. Для события мыши вы можете затем отсканировать документ и найти наиболее подходящий узел. Я не уверен, насколько это эффективно, но я бы начал с этого.

person Michael    schedule 27.06.2017
comment
путь в стиле XPath к текущему выбранному XML-элементу уже отображается в строке состояния окна Eclipse. Базовый редактор xml в eclipse имеет эту функцию. Если нет способа получить узел xml DOM, как он вычисляет путь в стиле XPath в зависимости от того, где находится курсор? - person user3418847; 05.07.2017