0

我有以下代码块:

[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

测试一返回两个元素 num 和 time。测试二不返回任何内容(因为 xml 中没有这样的元素“response.num”)。是否可以让 powershell 将字符串评估为变量?如上所述,如果我有一个字符串'variable.property.sub-property',有什么方法可以让powershell返回子属性的值?

我知道我可以用 x-path 和 xml 做到这一点。但是有没有一种语法方法可以让测试 2 工作?

4

1 回答 1

2

这似乎有效:

iex "`$xml.$($vars.num)"   # test 2
2
于 2013-11-07T15:27:55.957 回答