使用XmlRead获取MSBuild中给定属性的键值
我有一个包含(除其他内容外)如下xml结构的文件:使用XmlRead获取MSBuild中给定属性的键值,msbuild,Msbuild,我有一个包含(除其他内容外)如下xml结构的文件: <exchanges> <name deliverycode="11">BIT</name> <name deliverycode="92">BOTC</name> <name deliverycode="24">BTEC</name> <name deliverycode="24">BTEX</name>
<exchanges>
<name deliverycode="11">BIT</name>
<name deliverycode="92">BOTC</name>
<name deliverycode="24">BTEC</name>
<name deliverycode="24">BTEX</name>
<name deliverycode="60">NPCH</name>
<name deliverycode="00">TSE</name>
<name deliverycode="00">TSP</name>
<name deliverycode="91">UCA</name>
</exchanges>
一点
博茨
BTEC
苯系物
NPCH
谢霆锋
TSP
UCA
对于给定的首字母缩略词,我需要deliverycode编号,例如,“BIT”应返回“11”、“BOTC”->“92”等。我使用MSBuild v4.0,并尝试了XmlRead任务来完成此任务,但没有成功 您可以使用和XPath计算器之一快速获得正确的XPath
我曾经测试过以下XPath:
string(/exchanges//name[text()="BOTC"]/@deliverycode)
它产生正确的92输出
然后,您可以使用project中的XMLRead任务来检索值(看起来您在帖子中引用了它,所以我提到它是为了确保我们在这里处于同一页面)
注意:我现在没有在msbuild环境中测试XPath的设置(我只使用我提到的web evaluator进行了测试),因此可能需要对其进行一些小的调整,以使其在msbuild环境中生成值。谢谢!澄清一下:我必须让它在MSBuild脚本中工作,所以这里不适合使用在线工具。我只使用MSBuild,我要寻找的是与以下内容相反的内容:这一个提供了“BOTC”,但我希望使用MSBuild中的XmlRead任务(或MSBuild中的其他内容)传递BOTC以获取92。