Hi thereI'm quite new to PS but I have some experience with VBScript and other languages.However, I was drawn to PS for its ability to handle XML-files. I have quite a demanding problem which I don't know exactly how to handle.What I'd like or have to do is loading a report from one of our internal security appliances and search within the file for a list of specific hostnames. If a specific hostname has been found, I need to copy the whole child-entry into a new XML-file for later review.What I have achieved so far is the ability to download the report and search for one specific hostname. This is done like that:$clnt = new-object System.Net.WebClient$url = "https://my.appliance.local/api/getreport.asp?generate_report=myreport&start_date=2010-05-01"$file = "c:\temp\myreport.xml"$clnt.DownloadFile($url,$file)$xml = [xml](Get-Content "c:\temp\myreport.xml")$xml_interestingusers = $xml.event_list.session | Where-Object {$_.client.hostname -like "*PC0001"} The issues I'm facing are manyfold:1. ) the file I need to search within can get quite large (up to 400MB), there might be ways arround this which would require more effort and time be downloading every single report entry by itself and search withing. However, if possible it would facilitate the script if I could only request the whole report at once. Unfortunately if I throw this file down the stack I quite quickly run into memory problems. Are aware of a better solution than piping for solving this?2.) Instead of only searching through the whole report and looking for one specific hostname I'd prefer to search for a predefined list (preferably XML or CSV) of hostnames. Is there a simple way to achieve this, probably with a Foreach-Object?Any shared thought or insight is warmly welcomed. Stefan