public void ProcessAsXml() { var filters = new[] { "Property1", "Property3", "SubObject/Property2" }; var filter = new FilterProcessor(TestData, filters); var xml = filter.ProcessAsXml(); var result = XDocument.Parse(xml); Assert.AreEqual("1", result.Root.XPathSelectElement("Property1").Value); Assert.IsNull(result.Root.XPathSelectElement("Property2")); Assert.AreEqual("3", result.Root.XPathSelectElement("Property3").Value); Assert.IsNull(result.Root.XPathSelectElement("SubObject/Property1")); Assert.AreEqual("S2", result.Root.XPathSelectElement("SubObject/Property2").Value); Assert.IsNull(result.Root.XPathSelectElement("SubObject/Property3")); Assert.IsNull(result.Root.XPathSelectElement("SubObject/SubObject")); }