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