XElement.Load (String, LoadOptions) loads an XElement from a file
Imports System Imports System.Xml Imports System.Xml.XPath Public Class MainClass Public Shared Sub Main() Dim xmlTree1 As XElement = XElement.Parse("<Root> <Child> </Child> </Root>", LoadOptions.PreserveWhitespace) xmlTree1.Save("Tree.xml") Console.WriteLine(xmlTree1) Dim whiteSpaceNodes As Integer Dim xmlTree2 As XElement = XElement.Load("Tree.xml", LoadOptions.None) whiteSpaceNodes = xmlTree2 _ .DescendantNodesAndSelf() _ .OfType(Of XText)() _ .Where(Function(ByVal tNode As XNode) tNode.ToString().Trim().Length = 0) _ .Count() Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes) Dim xmlTree3 As XElement = XElement.Load("Tree.xml", LoadOptions.PreserveWhitespace) whiteSpaceNodes = xmlTree3 _ .DescendantNodesAndSelf() _ .OfType(Of XText)() _ .Where(Function(ByVal tNode As XNode) tNode.ToString().Trim().Length = 0) _ .Count() Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes) End Sub End Class