Итак, два сценария: Пример источника данных:
<Person lifenumber="21596" lname="LOVER" mname="J" fname="JERRY" affiliation="Hospital One" email="jerry.LOVER@mss.edu" building="" floor="" room="" phone="" hrstatus="A" active_direct_user="lassej04" active_direct_provider="HOSPITAL">
<Appointment affiliation="Hospital One" deptname="Cardiology" divname="" deptcode="821" title="ASST CLIN PROF"/>
Используемый код (с функциями)
$xmlPath = 'C:\Scripts\source.xml'
[xml]$data = Get-Content $xmlPath
#pulls everything above 'Appointment"
function Search-LifeNumber
{
param(
$Source = $data,
[Parameter(Mandatory=$true,
Position=0)]
$LifeNumber
)
$Target = $Source.People.Person | ? {$_.LifeNumber -eq $LifeNumber}
return $Target
}
#pulls Deptment Code data associated with targeted node
function Search-ByDepartmentCode
{
param(
$Source = $data,
[Parameter(Mandatory=$true,
Position=0)]
$DepartmentCode
)
$Target = $Source.SelectNodes('//People/Person/Appointment') | ? {$_.deptcode -eq $DepartmentCode}
return $Target
}
Как бы я могиспользовать CSV, содержащий список жизненных номеров для запуска против функции? Чтобы вытащить все данные, связанные с этим номером жизни в разделе // Люди / Человек?
Я добавлю другой пример кода в другое сообщение.