获取密钥值用于使用XmlRead

问题描述:

我有一个包含一个文件(除其他东西)的XML结构这样的MSBuild中一个给定的属性:获取密钥值用于使用XmlRead

<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> 

对于给定的缩写我想要的deliverycode数,例如“BIT”应该返回“11”,“BOTC” - >“92”等。我使用MSBuild v4.0,并没有成功尝试XmlRead任务来完成此任务。

您可以使用online XPath generators和XPath评估程序之一快速获取正确的XPath。

我用this one测试以下XPath:

string(/exchanges//name[text()="BOTC"]/@deliverycode) 

它产生的92

正确的输出比你可以使用XMLRead任务从MSBuild Community Tasks项目检索值(它看起来像你在你的文章中提及它,所以我提到它是为了确保我们在这里同一页)。

注意:我现在没有在msbuild环境中测试XPath的设置(我只用我提到的web评估器测试过),因此可能需要稍微调整以使其在msbuild中生成值ENV。

+0

谢谢!澄清:我必须在MSBuild脚本中使用这个工具,所以不要认为在线工具适合这里。 我只使用MSBuild,我正在寻找的是类似于以下内容的东西: This one gives' BOTC“,但我想在MSBuild(或MSBuild中的其他东西)中使用XmlRead任务来传递BOTC以获得92。 – user2201696 2013-03-25 11:02:01