我有以下代码块:
[xml]$xml = @"
<response>
<num>2</num>
<time>7</time>
</response>
"@
$VARS = New-Object -TypeName PSObject `
-Property @{root = "response"
num = "response.num"}
$xml.($VARS.root) # test 1
$xml.($VARS.num) # test 2
测试1返回两个元素num和time。测试二不返回任何内容(因为xml中没有这样的元素'response.num')。是否有可能使PowerShell将String作为变量进行求值?如上所述,如果我有一个字符串'variable.property.sub-property',有什么办法让powershell返回子属性的值?
我知道我可以用x-x和xml来做到这一点。但是有没有一种语法可以让测试2工作?
答案 0 :(得分:2)
这似乎有效:
iex "`$xml.$($vars.num)" # test 2
2