gpt4 book ai didi

xml - PowerShell:通过XML解析,名称为 “ADDRESS”

转载 作者:行者123 更新时间:2023-12-02 23:39:02 26 4
gpt4 key购买 nike

XML:

<ServerList>
<ServerInfo ServerType="text" RPCServerPort="111" Port="110" Address="Server01" Name="Name1">
<ServerInfo ServerType="text" RPCServerPort="111" Port="110" Address="Server02" Name="Name2">

当我尝试使用XML导航时,它可以工作:
[xml]$results = Get-Content C:\Users\myself\Desktop\file.xml
$results.ServerList.ServerInfo

也:
  • 这有效:$results.ServerList.Name
  • 这有效:$results.ServerList.Port
  • 这有效:$results.ServerList.RPCServerPort

  • 但是,这不起作用: $results.ServerList.Address
    我得到的OverloadDefinitions结果与XML的内容无关。

    “地址”似乎确实在尝试做其他事情,有人知道如何在XML中列出地址内容吗?

    最佳答案

    数组在CIL中定义了一种称为“地址”的方法,用于检索数组中的项目。

    $results.ServerList.ServerInfo.Address

    OverloadDefinitions
    -------------------
    System.Object&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Address(int )

    在这种情况下,当您调用Address时,假定PowerShell应该检索每个项目的Address属性,但是PowerShell返回包含这些项目的数组的Address方法的定义。

    如果要访问属性,则需要更改属性名称,以使它们不再与方法签名匹配或遍历数组中的项目,并按照TheMadTechnician的建议检索属性。
    $results.ServerList.ServerInfo | Select-Object -ExpandProperty Address
    $results.ServerList.ServerInfo | Foreach-Object {$_.Address}

    关于xml - PowerShell:通过XML解析,名称为 “ADDRESS”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47272496/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com