For an XML file (say, test.xml) like this:
<Tasks>
<Task ID="1234" Name="TaskName1" Active="1">
<Source HostID="servername1" Type="Share" Path="" FileMask="Filename.csv" DeleteOrig="1" NewFilesOnly="1" SearchSubdirs="0" Unzip="0" RetryIfNoFiles="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefDelOldStateDays="1" UseDefStateCaching="1" UseDefRescanSecs="1" UDMxFi="1" UDMxBy="1" UseDefWinCopyFileAPI="1" ID="11"/>
<Destination HostID="servername2" Type="Share" Path="Incoming" FileName="[OrigName]" UseOrigName="1" ForceDir="1" OverwriteOrig="1" UseRelativeSubdirs="1" Zip="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefWinCopyFileAPI="1" ID="12"/>
<NextActions>
<NextAction DoIfSuccess="0" DoIfFailure="1" DoIfNoAction="0" DoAfter="Task" Type="Email" HostID="12345" AddressTo="[email protected]" Subject="Subject" Message="Message"/>
</NextActions>
</Task>
<Task ID="1235" Name="TaskName2" Active="1">
<Source HostID="servername1" Type="Share" Path="" FileMask="Filename.csv" DeleteOrig="1" NewFilesOnly="0" SearchSubdirs="0" Unzip="0" RetryIfNoFiles="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefDelOldStateDays="1" UseDefStateCaching="1" UseDefRescanSecs="1" UDMxFi="1" UDMxBy="1" UseDefWinCopyFileAPI="1" ID="11"/>
<Destination HostID="servername2" Type="Share" Path="Incoming" FileName="[OrigName]" UseOrigName="1" ForceDir="1" OverwriteOrig="1" UseRelativeSubdirs="1" Zip="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefWinCopyFileAPI="1" ID="12"/>
<NextActions>
<NextAction DoIfSuccess="0" DoIfFailure="1" DoIfNoAction="0" DoAfter="Task" Type="Email" HostID="12345" AddressTo="[email protected]" Subject="Subject" Message="Message"/>
</NextActions>
</Task>
<Task ID="1236" Name="TaskName3" Active="1">
<Source HostID="servername1" Type="Share" Path="" FileMask="Filename.csv" DeleteOrig="1" NewFilesOnly="1" SearchSubdirs="0" Unzip="0" RetryIfNoFiles="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefDelOldStateDays="1" UseDefStateCaching="1" UseDefRescanSecs="1" UDMxFi="1" UDMxBy="1" UseDefWinCopyFileAPI="1" ID="11"/>
<Destination HostID="servername2" Type="Share" Path="Incoming" FileName="[OrigName]" UseOrigName="1" ForceDir="1" OverwriteOrig="1" UseRelativeSubdirs="1" Zip="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefWinCopyFileAPI="1" ID="12"/>
<NextActions>
<NextAction DoIfSuccess="0" DoIfFailure="1" DoIfNoAction="0" DoAfter="Task" Type="Email" HostID="12345" AddressTo="[email protected]" Subject="Subject" Message="Message"/>
</NextActions>
</Task>
</Tasks>
One option is to do this:
[xml]$xmlDoc = Get-Content .\test.xml
$xmlDoc.Tasks.Task | Where-Object {$_.Source.NewFilesOnly -eq '1'}
Which produces this output:
ID : 1234
Name : TaskName1
Active : 1
Source : Source
Destination : Destination
NextActions : NextActions
ID : 1236
Name : TaskName3
Active : 1
Source : Source
Destination : Destination
NextActions : NextActions