1
我正在處理pom文件修改以更改版本節點值。我可以通過xpath來修改所有版本節點,但我只希望它在artifactId和分類器匹配某些值時更改版本節點。這裏是我的xml:如何讓XPATH返回兩個不同兄弟姐妹之間的節點?
<artifactItem>
<groupId>com.xyz</groupId>
<artifactId>foobar</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<type>zip</type>
<overWrite>true</overWrite>
</artifactItem>
<artifactItem>
<groupId>com.xyz</groupId>
<artifactId>foobar</artifactId>
<version>${project.version}</version>
<type>jar</type>
</artifactItem>
如果artifactId的是foobar的,並分類爲config,我想版本返回,所以我可以修改它。
使用,我發現其他的例子,我想這一點,但沒有奏效:
/artifactItem/artifactId[.='foobar']
/following-sibling::*
[count(.|/artifactItem/classifier[. ='config']/preceding-sibling::*)
=
count(/artifactItem/classifier[. ='config']/preceding-sibling::*)
]
任何建議,將不勝感激!
感謝
這可能會做到這一點,但我認爲我們的Perl模塊處理我的XPath有一個錯誤。我們會在我們清理時更新。 – user1467510
這工作,謝謝。我們必須將我們使用的perl模塊從Twig.pm切換到XPath.pm。我們不能讓Twig來處理'和'操作符。再次感謝您的幫助! – user1467510