【问题标题】:Can not execute Xpath with Intellij Idea无法使用 Intellij Idea 执行 Xpath
【发布时间】:2013-07-30 07:12:07
【问题描述】:

我尝试在 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-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>

我没有结果。此外,Idea 突出显示参数值,因为它不存在,当我单击 ctrl+space 时,我看不到任何标签!我尝试在另一个项目和另一个 xml 中使用这个插件 - 它可以工作,但在这种情况下它不是。

有什么想法吗?可能是我错过了一些配置吗?

更新

我从 web-app 标签和表达式开始工作中删除属性。但是为什么呢?

【问题讨论】:

  • 您遇到的问题是您的 XPath 与您的 XML 不匹配。你想返回什么?
  • 我尝试从 中获取价值。我运行 //context-param/param-name[text()='email'] 但仅在从 web-app 标记中删除属性后才有效,因此它在没有版本、xmlns、xmlns:xsi 和 schemalocation 属性的情况下有效。

标签: java xml xpath web.xml


【解决方案1】:

尝试以下操作:

  1. 打开评估 Xpath 窗口(ctrl + shift + a:评估 Xpath)
  2. 点击高级按钮
  3. 添加带有前缀的 uri(在下面的屏幕截图中,我添加了带有“pom”前缀的 Maven POM 命名空间)
  4. 尝试评估任何 pom.xml 上的“/pom:project”xpath(注意现在 IntelliJ 会自动完成 pom 元素)

【讨论】:

    【解决方案2】:

    首先,param-value 元素在命名空间中,但是您的 XPath 表达式在没有命名空间中寻找它。通常,您需要一个表达式,例如 //j:param-value,其中前缀 j 绑定到命名空间 http://java.sun.com/xml/ns/j2ee - 您必须查看 IntelliJ 文档以了解如何执行此操作。

    其次,您的 param-value 元素没有名为 email 的子元素。如果您希望关联的param-name 元素的值是“电子邮件”,那就是

    //j:context-param[j:param-name='email']/j:param-value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-20
      • 2015-09-04
      • 2013-08-17
      • 2015-08-19
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 2021-12-16
      相关资源
      最近更新 更多