我想从以下代码中提取版本号:
<?xml version="1.0" encoding="UTF-8"?>
<Include>
<?define ProductVersion = "1.0.0.0" ?>
</Include>
我希望输出为:1.0.0.0
,可以这样做吗?
如果使用Visual Studio创建基于WIX的安装程序,则可以在.wixproj
文件中定义ProductVersion
变量。
<Target Name="BeforeBuild">
<PropertyGroup>
<DefineConstants>ProductVersion=1.0</DefineConstants>
...
</PropertyGroup>
</Target>
这可以通过$(var.ProductVersion)
从.wxs文件访问。现在,您可以使用XPath从.wixproj文件中读取DefineConstants
的值。这将使您获得ProductVersion = "1.0.0.0"
您可以使用processing-instruction()
节点过滤器访问处理指令内容。处理指令中没有定义语义,因此无法直接查询"属性值"。
您可以使用这个XPath(1.0)查询来使用字符串处理获取值:
substring-before(substring-after(/Include/processing-instruction(), '"'), '"')