当前位置: 首页 > 知识库问答 >
问题:

使用xPath从pom中提取版本号时出现问题

姚向晨
2023-03-14

我在从POM中提取版本号时遇到了问题。有人能帮我吗?

POM. xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <artifactId>watcher</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <groupId>com.test.file</groupId>
    <name>file-watcher</name>
    <packaging>jar</packaging>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <relativePath/>
        <version>2.6.1</version> 
    </parent>

</project>

XPATH表达式:

//project/version/text()

错误:返回未找到匹配项

共有1个答案

薛寒
2023-03-14

元素位于默认名称空间中。因此,请尝试一个与命名空间无关的XPath-1.0表达式,如下所示:

/*[local-name()='project']/*[local-name()='version']/text()

它的输出是

0.0.1-SNAPSHOT

如所希望的。

 类似资料:
  • 考虑到我有依赖项groupId和artifactId,我如何从pom中提取这个依赖项的版本。xml文件? 示例:如果我使用artifactId和groupId进行查询,我希望能够提取下面的依赖项版本。 我想将版本分配给一个全局环境变量,即DEP_version=1.6

  • 你好,我需要我下面的代码的解决方案。我试图从跨度类中提取文本,但似乎所有的文本都在同一时间提取,这样我就可以一个接一个地提取文本。 JAVA代码 超文本标记语言输出 JAVA输出 独处的年龄令人惊叹的愤怒周年纪念建筑艺术态度美丽最好的生日聪明的商务车机会改变圣诞节通信计算机酷勇气爸爸约会死亡设计饮食梦想复活节教育环境平等经历失败信仰家庭著名的父亲节恐惧金融健身食物宽恕自由友谊有趣的未来园艺上帝好政

  • 我试图用scrapy for Python2从DIV中提取数据。我现在意识到不能在提取的div XPath中使用像\d这样的regex命令。我怎么才能解决这个问题呢?对于\d{,2},我想告诉python“嘿,这里应该有一个数值介于1-100之间的数字”,谢谢 URL中的html代码片段如下: item[“date”]=span class=“date”>1月12日/span> item[“pri

  • 我有一个父级pom a和子级pom B、C和D。在B、C和D中,我有相同类型的依赖关系。 ie母Pom

  • 问题内容: 在处理POM之后,Jenkins构建有什么方法可以知道项目的Maven版本号吗? 我有一些项目由Maven控制版本控制,在构建后的工作中,我们想创建一个Debian软件包并调用一些shell脚本。我需要的是Maven以前可以用作Jenkins环境变量的版本号,因此我可以将其传递给构建后操作。 需要明确的是,我 没有 需要知道如何让詹金斯版本号传递到Maven的; 相反,我希望Maven