2016-02-29 85 views
0

我需要使用XPath得到XML的一些数据比较值,这将总是返回一定的价值 - 字符串或INT如何从XML在PowerShell中

而且,我需要的是价值与一些其他的比较命令行像

compare.ps1 -operator -lt -xpath xpath -value value 

所以:

$a = Select-XML -Path '...' -Xpath "/root/some[@Name='123']" 

现在如何正确转换$ a的值?

我可以这样做

$a.value.tostring() 

但我将无法使用-lt和-gt运营商,他们会说真总是

如何正确做呢?

回答

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()静态方法。

+0

好方法,谢谢 –