@Joe, I'm rustic on the network side but will try to respond. Unless the packet is re-transmitted, you can only capture it once. Therefore in your application, grab the entire payload and load the stream into memory for parsing to an xml file. The nodes in your xml file will contain the layout of the packet as you know it eg headers. Using filters, select what you need to output. Can this work?  HTHs.