加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:26:23 所属栏目:安全 来源:网络整理
导读:我有一个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" modelVersion4.0.0/model
我有一个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来设置命名空间并输出所需的值.不幸的是,您必须清除输出中的提示.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读