2016-02-29 26 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

好方法,謝謝 –