【发布时间】:2020-11-23 12:47:28
【问题描述】:
所以,下面是我要解析的 xml。首先,我在我的 Jnekinsfile 中使用了 XmlSlurper,解析很容易,但我在管道中遇到了性能问题。 现在我正在使用 XMLlint,但它不像 XmlSlurper 那样简单:(
<metadata modelVersion="1.1.0">
<groupId>com.test.test.test</groupId>
<artifactId>myApp-ear</artifactId>
<version>4.0.0-10-SNAPSHOT</version>
<versioning>
<snapshot>
<timestamp>20200803.052228</timestamp>
<buildNumber>3</buildNumber>
</snapshot>
<lastUpdated>20200803052228</lastUpdated>
<snapshotVersions>
<snapshotVersion>
<extension>ear</extension>
<value>4.0.0-10-20200803.052228-3</value>
<updated>20200803052228</updated>
</snapshotVersion>
<snapshotVersion>
<extension>pom</extension>
<value>4.0.0-10-20200803.052228-3</value>
<updated>20200803052228</updated>
</snapshotVersion>
</snapshotVersions>
</versioning>
</metadata>
我想从<snapshotVersion> with <extension>类型ear解析和获取<value>4.0.0-10-20200803.052228-3</value>的值。
这是我的代码 sn-p,
$(xmllint --xpath "/metadata/artifactId/text()"
metadataFile)-$(xmllint --xpath
"/metadata/versioning/snapshotVersions[0]/value/text()"
metadataFile).$(xmllint --xpath
"/metadata/versioning/snapshotVersions[0]/extension/text()"
metadataFile)
输出:
++ xmllint --xpath '/metadata/artifactId/text()' 元数据文件 ++ xmllint --xpath '/metadata/versioning/snapshotVersions[0]/value/text()' 元数据文件 XPath 集为空 ++ xmllint --xpath '/metadata/versioning/snapshotVersions[0]/extension/text()' metadataFile XPath 集为空
请帮忙。
在此先感谢 :)
【问题讨论】:
-
//snapshotVersion[extension="ear"]/value/text()不适合你吗?