我與父節點hospitalStore
和幾個子節點的XML文件來訪問它的兄弟姐妹,我需要過程:查找XML值,並從同一個組
<?xml version="1.0" encoding="UTF-8"?><!--Hospital Store -->
<hospitalStore><!-- Hospital Config -->
<src><!--Search Path For Files To Move-->
<path>C:\Users\Desktop\move\*.pdf</path>
</src>
<hospital>
<criteria>Beth Israel requirements</criteria>
<name>Beth Israel</name>
<category>OPBEIH</category>
<destination>C:\Users\Desktop\dest\1\</destination>
<hospcode>1101</hospcode>
</hospital><!-- End Hospital Config --><!-- Hospital Config -->
<hospital>
<criteria>Beth Israel CCC - WEST requirements</criteria>
<name>Beth Israel CCC WEST</name>
<category>OPBICC</category>
<destination>C:\Users\Desktop\dest\2\</destination>
<hospcode>1107</hospcode>
</hospital><!-- End Hospital Config --><!-- Hospital Config -->
<hospital>
<criteria>Beth Israel KHD requirements</criteria>
<name>Beth Israel KHD</name>
<category>OPBIKD</category>
<destination>C:\Users\Desktop\dest\3\</destination>
<hospcode>1102</hospcode>
</hospital><!-- End Hospital Config --><!-- Hospital Config -->
<hospital>
<criteria>Beth Israel KHD requirements</criteria>
<name>Beth Israel KHD</name>
<category>OPBIKE</category>
<destination>C:\Users\Desktop\dest\3\</destination>
<hospcode>1102</hospcode>
</hospital><!-- End Hospital Config -->
</hospitalStore><!-- End Hospital Store -->
到目前爲止,我的代碼檢索文件在目錄中,然後將basename
的前6個字符與XML子節點category
相匹配。
我希望能夠將與XML category
中的值匹配的文件指向XML destination
等,然後使用其他幾個函數測試目標。我不確定如何將文件與該組節點相關聯。
$cPath="C:\move\outpatient.xml"
$xml = New-Object -TypeName XML
$xml.Load($cPath)
$hName = $xml.hospitalstore.hospital
$src = $xml.hospitalstore.src.path
$fileList= get-childitem -path $src -File
ForEach ($file in $fileList){
$category = ($file.BaseName.Substring(0,6))
$fileName = $fileList.Name
if ($category -in $hName.category){
$file.Name
$hName.category
}
}