public static void Sample_ReadXml_Books() { string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <bookstore xmlns=""http://www.contoso.com/books""> <book genre=""autobiography"" publicationdate=""1981-03-22"" ISBN=""1-861003-11-0""> <title>The Autobiography of Benjamin Franklin</title> <author> <first-name>Benjamin</first-name> <last-name>Franklin</last-name> </author> <price>8.99</price> </book> <book genre=""novel"" publicationdate=""1967-11-17"" ISBN=""0-201-63361-2""> <title>The Confidence Man</title> <author> <first-name>Herman</first-name> <last-name>Melville</last-name> </author> <price>11.99</price> </book> <book genre=""philosophy"" publicationdate=""1991-02-15"" ISBN=""1-861001-57-6""> <title>The Gorgias</title> <author> <name>Plato</name> </author> <price>9.99</price> </book> </bookstore> "; var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); using (var reader = new XmlAdapter(xmlDoc)) { reader.XPath = "/bookstore/book"; reader.AutoExtractNamespaces = true; //var dataTable = reader.ReadAllData(); //var dynObjects = reader.ReadAllDataAs<ExpandoObject>(); var books = reader.ReadAllDataAs <Book>(); using (var writer = new XmlAdapter()) { writer.XPath = "/bookstore/book"; writer.FileName = @"C:\Temp\out.xml"; writer.WriteDataFrom <Book>(books, true); } } }