PowerShell 数组以及XML操作

时间:2023-03-09 03:57:31
PowerShell 数组以及XML操作

PowerShell基础

PowerShell数组操作

 将字符串拆分成数据的操作

cls
#原始字符串
$str = "abc,def,ghi,mon"
#数据定义
#$StrArray = New-Object Collections.Generic.List[string]
$StrArray = @()
#拆分
$StrArray = $str.Split(",")
$len = $StrArray.Count
Write-Host "数据中元素总数为:"  $len
#遍历数据元素
foreach($str in $StrArray)
{
    $str
}

  执行结果为:

  PowerShell 数组以及XML操作

  

  数组的定义有两种方式,一种是New-Object Collections.Generic.List[string],一种是@()

$StrArray = New-Object Collections.Generic.List[string]
$StrArray = @()

即便是定义成int类型的数据组:$StrArray = New-Object Collections.Generic.List[int],赋值的时候赋值为字符串,也不报错?

如下执行结果

PowerShell 数组以及XML操作

 将文本文件中的信息以数组的方式读取出来

cls

$content .txt"
$contentTmp = ""
foreach ($line in $content)
{
    $contentTmp =  $contentTmp + $line
}
$StrArray = New-Object Collections.Generic.List[string]

#拆分
$StrArray = $contentTmp.ToString().Split(",")

$len = $StrArray.Count
Write-Host "数据中元素总数为:"  $len

#遍历数据元素
foreach($str in $StrArray)
{
    $str
}

原始的文本文件长这么个样子

PowerShell 数组以及XML操作

转换为数据读取出来的结果

PowerShell 数组以及XML操作

PowerShell XML数据操作

  读取XML数据以及节点信息

cls
#获取XML信息
function GetAlterCounter($path)
{
    $xml = [xml] (Get-Content $path)
    $list = $xml.MessageData.note
    $list
}

$xmlList = New-Object Collections.Generic.List[string]
$xmlList    = GetAlterCounter("C:\WORKSPACE\PowerShellScript\TestReadXml.xml")

foreach ($obj in $xmlList)
{
    Write-Host "*********************"
    Write-Host $obj.id
    Write-Host $obj.to
    Write-Host "*********************"
}

原始的XML文件长这个样子

PowerShell 数组以及XML操作

  这里读取Id和同两个节点的信息,读取出来的结果:

  PowerShell 数组以及XML操作