gpt4 book ai didi

bash - 使用 xmllint 获取 pom.xml 版本

转载 作者:行者123 更新时间:2023-11-29 08:52:30 27 4
gpt4 key购买 nike

我有一个这样的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qualtrics.sujitv</groupId>
<artifactId>maven-test</artifactId>
<packaging>jar</packaging>
<version>1.2.3.4</version>
<name>Test app</name>
<url>http://maven.apache.org</url>

</project>

我正在尝试使用 xmllint 来获取版本,但是当我运行时

xmllint --xpath 'string(project/version)' ./pom.xml

什么都不输出

最佳答案

由于您的 XML 使用命名空间,因此没有真正好的方法来实现它。对于直接的 xpath 查询,如果忽略命名空间是安全的,您可以这样做:

$ xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' pom.xml

如果您想以“正确”的方式进行操作,则需要启动一个 shell 来设置 namespace 并输出所需的值。遗憾的是,您必须清除输出中的提示。

$ xmllint --shell pom.xml <<< 'setns ns=http://maven.apache.org/POM/4.0.0
cat /ns:project/ns:version/text()'

关于bash - 使用 xmllint 获取 pom.xml 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41114695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com