Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XmlRead获取MSBuild中给定属性的键值_Msbuild - Fatal编程技术网

使用XmlRead获取MSBuild中给定属性的键值

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

我有一个包含(除其他内容外)如下xml结构的文件:

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