2010-03-25 6 views
3

У меня есть Java AST, и я пытаюсь найти переменную внутри нее через XPath.XPath, чтобы найти элемент, основанный на другом элементе XPath

Допустим, переменная называется «Foobar» Я мог бы использовать

//VariableDeclarator/VariableDeclaratorId[@Image='foobar'] 

но что, если я не знаю, текст «Foobar», но хотите, чтобы прочитать его от другого элемента

//VariableDeclarator/VariableDeclaratorId[@Image=//SynchronizedStatement/Expression/PrimaryExpression/PrimaryPrefix/Name] 

узел «Имя» имеет информацию «foobar» в @Image, но PrimaryPrefix/Name[@Image] не работает.

Как следует переписать условие //SynchronizedStatement/Expression/PrimaryExpression/PrimaryPrefix/Name, что это то же самое, что и @Image='foobar'?

Благодаря

ответ

2

Попробуйте это XPath: -

//VariableDeclarator/VariableDeclaratorId[@Image=//SynchronizedStatement/Expression/PrimaryExpression/PrimaryPrefix/Name/@Image] 
+0

спасибо ... удивительный :) – martymcfly

Смежные вопросы