У меня есть XML-файл, полученный из входного java-файла. У меня также есть выражения xPath
для файла XML.Извлечь элемент Java на основе его соответствующего элемента XML
Мне нужна функция, которая получает одно выражение xPath и возвращает его элемент java (в абстрактном синтаксическом дереве). Я попробовал приведенный ниже код:
Первый фрагмент XML-элемента на основе входного выражения xPath.
XPath xPath = XPathFactory.newInstance().newXPath(); String query = "//unit[1]/unit[1]/class[1]/block[1]/function[6]"; //a method Node node = (Node) xPath.compile(query).evaluate(XmlDocument, XPathConstants.NODE);
Однако, я не знаю, как связать извлеченную
XML
узел Java элемента в исходном коде.
PS: reslut должен быть узлом в абстрактном синтаксическом дереве. У меня АСТ создан spoon. Поэтому в приведенном выше примере я хочу извлечь связанные CtMethodImpl
.
node.getTextContent()
не является ответом, поскольку возможно, что имеется более одного экземпляра с похожим текстовым контентом.
Какое абстрактное синтаксическое дерево? Какой элемент Java? Как написано, ваш вопрос неопровержимо. Измените его на примере вашего ввода и пример того, что вы хотите для вывода. – kdgregory