Java 无法使用Intellij Idea执行Xpath
我尝试在Intellij Idea中执行web.xml中的xpath表达式 Xpath表达式Java 无法使用Intellij Idea执行Xpath,java,xml,xpath,web.xml,Java,Xml,Xpath,Web.xml,我尝试在Intellij Idea中执行web.xml中的xpath表达式 Xpath表达式 //param-value[email] Web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
//param-value[email]
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>ServletName</servlet-name>
<servlet-class>com.ServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>/Demo1</url-pattern>
</servlet-mapping>
<context-param>
<param-name>email</param-name>
<param-value>admin@email.com</param-value>
</context-param>
</web-app>
Web应用程序创建的原型
服务器名
com.ServletDemo
服务器名
/演示1
电子邮件
admin@email.com
我没有结果。此外,Idea突出显示参数值,因为它不存在,当我点击ctrl+space时,我看不到任何标记!我尝试在另一个项目和另一个xml中使用这个插件——它可以工作,但在这种情况下就不行了
有什么想法吗?我可能错过了一些配置
已更新
我从web应用标记和表达式开始工作中删除属性。但是为什么呢?首先,param value元素在名称空间中,但是XPath表达式没有在名称空间中查找它。通常,您需要一个表达式,如
//j:param value
,其中前缀j绑定到名称空间-您必须查看IntelliJ文档以了解如何执行此操作
其次,param-value元素没有名为email
的子元素。如果希望关联的参数name
元素的值为“email”,则
//j:context-param[j:param-name='email']/j:param-value
请尝试以下操作:
您遇到的问题是XPath与XML不匹配。你想回报什么?我想从中获得价值。我运行//context-param/param-name[text()='email'],但仅在从web app标记中删除属性后才起作用,因此它在没有版本、xmlns、xmlns:xsi和schemalocation属性的情况下起作用。