如何在powershell

时间:2016-02-29 17:53:02

标签: xml powershell

我需要使用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运算符,他们会说真的总是

如何正确地做到这一点?

1 个答案:

答案 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()静态方法,包括日期时间。