Java 如何在PMD和XPath中获取局部变量声明包? 我的问题

Java 如何在PMD和XPath中获取局部变量声明包? 我的问题,java,xpath,pmd,Java,Xpath,Pmd,我想为创建一个自定义规则集,用于查找使用特定包的所有声明变量。它应该是一个XPath规则集,因为这对我来说更容易维护 到目前为止我所拥有的 我能够找到import语句和变量。我使用这个XPath查找声明: //VariableDeclarator[../Type /ReferenceType /ClassOrInterfaceType

我想为创建一个自定义规则集,用于查找使用特定包的所有声明变量。它应该是一个XPath规则集,因为这对我来说更容易维护

到目前为止我所拥有的 我能够找到
import
语句和变量。我使用这个XPath查找声明:

//VariableDeclarator[../Type
                          /ReferenceType
                             /ClassOrInterfaceType
                                [@Image = 'ClassA']]
但是,这只是与确切的类匹配,但是我想检查这个类是否来自package
my.package
,我不知道如何获得它


有什么提示吗?

我已经有一段时间没有使用PMD了,我在这里从内存开始,但请尝试在XPath前面加上:

//ClassOrInterfaceDeclaration[前置::PackageDeclaration/Name/@Image='my.package']//VariableDeclarator[etc..


基本上,它在XML中寻找一个相关的节点来声明相应的包。正如我所说,这是来自相当旧的内存,但希望它至少能为您指明正确的方向。

没有提供XML文档!您认为如何针对假设文档构造任何XPath表达式?因为我假设任何有PMD经验的人都知道
VariableDeclarator
和其他元素的含义。不需要XML,因为没有使用XML。我将在问题中添加java标记。
前面的
是件好事,但我认为不可能从
VariableDeclarator
获得完全限定的类名,因为PMD正在分析源代码,而不是字节码。