$x = ([xml]"<sample name='notsample'/>").sample
Run Code Online (Sandbox Code Playgroud)
鉴于上面的代码行,我希望找到由XmlElementin 描述的标记的名称$x.通常,您只需使用$x.Name,但该name属性会屏蔽它.而不是返回sample,$x.name返回notsample.
我发现的唯一解决方法是:
[Xml.XmlElement].GetProperty("Name").GetValue($x)
Run Code Online (Sandbox Code Playgroud)
......但这很黑.我该怎么做才能正确?
您可以通过直接调用属性getter方法来获取它:
$x.get_Name()
Run Code Online (Sandbox Code Playgroud)
这适用于许多其他类似的情况.例如,如果类型实现IDictonary并具有其他属性,则可能需要使用此属性来访问这些属性.默认情况下,PowerShell会对字典进行查找,而不是获取/设置所访问的属性.
您可以使用以下-Force选项让PowerShell显示这些隐藏的成员Get-Member:
$x | gm -Force
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3800 次 |
| 最近记录: |