首页 > 解决方案 > 如何从线路中提取用户

问题描述

我需要从与此类似的行中提取用户名。用户名是可变的,所以我想这必须用正则表达式攻击。(我对如何解决这个问题一无所知)。

<RowGroup>
<RowGroup>
<RowTotal RowNumber="0">USER1</RowTotal>
<RowTotal RowNumber="1">USER2</RowTotal>
<RowTotal RowNumber="2">USER3</RowTotal>
<RowTotal RowNumber="3">USER4</RowTotal>
<RowTotal RowNumber="4">USER 5</RowTotal>
</RowGroup>
</RowGroup>
</RowGroups>

标签: stringpowershellparsing

解决方案


请参阅 PowerShell 和 XML 的答案,例如如何在 Powershell 中迭代 XML?

并查看以下代码

$data = @'
<RowGroups>
<RowGroup>
<RowGroup>
<RowTotal RowNumber="0">USER1</RowTotal>
<RowTotal RowNumber="1">USER2</RowTotal>
<RowTotal RowNumber="2">USER3</RowTotal>
<RowTotal RowNumber="3">USER4</RowTotal>
<RowTotal RowNumber="4">USER 5</RowTotal>
</RowGroup>
</RowGroup>
</RowGroups>
'@


$xml = [xml]$data

foreach ($row in $xml.RowGroups.RowGroup.RowGroup.RowTotal)
{
    $row.'#text'
}

推荐阅读