我需要使用xpath从xml获取一些数据,总是返回一些值 - string或int
另外,我需要将该值与
等命令行中的其他值进行比较compare.ps1 -operator -lt -xpath xpath -value value
所以:
$a = Select-XML -Path '...' -Xpath "/root/some[@Name='123']"
现在如何正确地将$ a转换为值?
我可以做类似
的事情$a.value.tostring()
但是我不能使用-lt和-gt运算符,他们会说真的总是
如何正确地做到这一点?
答案 0 :(得分:0)
.Net方式是使用TryParse()
:
[int]$IntegerValue = $null; //Variable for pass by reference
if ([int]::TryParse($a.value,[ref]$IntegerValue))
{
//Value is an integer
$Result = $IntegerValue;
}
else
{
//Value is not an integer
$Result = $a.value.ToString();
}
大多数数据类型都存在相同的TryParse()
静态方法,包括日期时间。