如何在powershell中解析XML以从上一个模块中选择项目

如何在powershell中解析XML以从上一个模块中选择项目,xml,powershell,Xml,Powershell,我需要选择最大计数和计数,以便在PowerShell中进行计算 以下是xml示例: <Para TimeStamp="1497627698" Signature="6D09881827E0973"> <License Module="page" ServerId="1452" EnterBy="20110630" RenewDate="20170701" RenewPe

我需要选择最大计数和计数,以便在PowerShell中进行计算

以下是xml示例:

<Para TimeStamp="1497627698"
       Signature="6D09881827E0973">
    <License Module="page"
           ServerId="1452"
           EnterBy="20110630"
           RenewDate="20170701"
           RenewPeriod="Year"
           MaxNumWorkflowServers="1"
           MaxVersion="3.0"
           MaxNumExportFields="10"
           TableRecognition="FALSE"
           DisabledOn="20170613">
        <Counter Name="Pages"
             MaxCount="7500"
             Count="7500"/>
    </License>
    <License Module="page"
           ServerId="1452"
           EnterBy="20170613"
           RenewDate="20170701"
           RenewPeriod="Year"
           MaxNumWorkflowServers="1"
           MaxVersion="3.0"
           MaxNumExportFields="10"
           TableRecognition="FALSE"
           ValidUntil="20170620">
        <Counter Name="Pages"
             MaxCount="8000"
             Count="7613"/>
    </License>
</Para>
试试这个:

    [xml]$xml = '
<Para TimeStamp="1497627698"
       Signature="6D09881827E0973">
    <License Module="page"
           ServerId="1452"
           EnterBy="20110630"
           RenewDate="20170701"
           RenewPeriod="Year"
           MaxNumWorkflowServers="1"
           MaxVersion="3.0"
           MaxNumExportFields="10"
           TableRecognition="FALSE"
           DisabledOn="20170613">
        <Counter Name="Pages"
             MaxCount="7500"
             Count="7500"/>
    </License>
    <License Module="page"
           ServerId="1452"
           EnterBy="20170613"
           RenewDate="20170701"
           RenewPeriod="Year"
           MaxNumWorkflowServers="1"
           MaxVersion="3.0"
           MaxNumExportFields="10"
           TableRecognition="FALSE"
           ValidUntil="20170620">
        <Counter Name="Pages"
             MaxCount="8000"
             Count="7613"/>
    </License>
</Para>
'
然后在Powershell提示符中执行:$xml.Para.License.Counter.MaxCount。这将为您提供xml中所有max count元素的值。之后,您可以为要对其进行操作的任何元素指定变量


或者,如果您的XML是一个文件,您可以使用[XML]$XML=Get Content[path_to_your_file]

将该文件导入$XML变量。如果您需要在Powershell中执行此操作,为什么要标记C/.NET?恐怕它们没有关系。您的xml文档格式不正确。@k7s5a-格式正确,但没有完全显示,因为格式不正确。:您好,我实际上是这样尝试的“$xml.Para.License.Counter | Select MaxCount”:但它的选择方式是:MaxCount:750000 800000 Count:2Hey@surendrachandaluri,如果你告诉我为什么那不是你想看到的,我会帮你的。在最初的问题中,您说过需要选择count和max count元素并对其进行计算。现在您有了选择这些元素的方法;您在执行计算时遇到困难吗?我真的很抱歉,我不清楚我只需要为maxcount和count选择一个值,它显示为两个。现在更清楚了,我需要从两个值中选择最大值谢谢您的澄清!在这种情况下,您可以做两件事:$maxCount | measure-Maximum将为您提供一系列您可能不想要的信息$maxCount | measure-Maximum.Maximum将为您提供数组中的最大值。