簡體   English   中英

無法使用Intellij Idea執行Xpath

[英]Can not execute Xpath with Intellij Idea

我嘗試在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強調param值,因為它不存在,當我clik ctrl + space時,我看不到標簽! 我嘗試在另一個項目和另一個xml中使用此插件 - 它可以工作,但在這種情況下它不是。

有任何想法嗎? 可能是我錯過了一些配置?

更新

我從web-app標簽中移除屬性,表達式開始工作。 但為什么?

首先,param-value元素位於命名空間中,但是您的XPath表達式在沒有命名空間的情況下查找它。 通常你需要一個表達式,如//j:param-value ,其中前綴j綁定到命名空間http://java.sun.com/xml/ns/j2ee - 你必須檢查IntelliJ文檔才能看到怎么做。

其次,您的param-value元素沒有名為email的子元素。 如果您希望關聯的param-name元素的值為“email”,那就是

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

試試以下:

  1. 打開評估Xpath窗口(ctrl + shift + a:Evaluate Xpath)
  2. 單擊高級按鈕
  3. 添加帶有前綴的uri(在下面的屏幕截圖中,我添加了Maven POM名稱空間,帶有“pom”前綴)
  4. 嘗試在任何pom.xml上評估“/ pom:project”xpath(注意,現在IntelliJ自動填充pom元素)

Intellij評估表達式截圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM