我试图使用xmlstarlet从Maven POM.XML中找到特定的groupId和artifactId但没有成功。 这是我正在使用的命令:
xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t \
-m "/pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[.//pom:groupId=com.mygroup.xxx]" \
-v '.' pom.xml
感谢任何帮助。
编辑:感谢npostavs,对于有相同问题的其他人,也可以组合更多表达式并根据更多元素过滤结果:
xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -m "/pom:project/pom:dependencyManagement/pom:dependencies/dependency[.//pom:groupId='com.mygroup.xxx'][.//pom:artifactId='myartifact-xxx']" -v '.' pom.xml
答案 0 :(得分:3)
pom:groupId=com.mygroup.xxx
您需要围绕字符串文字引用:pom:groupId='com.mygroup.xxx'
,否则它会查找名为com.mygroup.xxx
的XML元素。