python - 使用 xPath 从 pom 中提取版本号时遇到问题

标签 python java xml maven xpath

我在从 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()

错误:返回未找到匹配项

最佳答案

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

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

它的输出是

0.0.1-SNAPSHOT

根据需要。

关于python - 使用 xPath 从 pom 中提取版本号时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71574377/

相关文章:

java - 删除之前的 XML 文件,直到使用 Java 生成新文件

python - 在多进程中使用一张图运行 tensorflow

java - 在 jtopen 中设置 AS400 的设备名称

python - 字典中的 unicode 给出十六进制输出

Java SE框架和架构?

c# - Java 中的拖放应用程序,如 .Net 中的 IDesignerHost

java - 未知原因 struts 项目无法正常工作?

java - 如何在元素级别而不是属性上区分XML?

python - 如何有效地将 python pandas 数据框保存在 hdf5 中并在 R 中将其作为数据框打开?

Python - 多处理错误 'cannot start a process twice'