private XmlDocument AttemptLoadConfiguration(FileInfo configFile) { XmlValidatingLoader loader = CreateXmlValidatingLoader(configFile); try { return(loader.Load()); } catch (XmlException ex) { throw new ConfigurationException("The configuration file contains invalid xml: " + configFile.FullName, ex); } }
public void ShouldBeAbleToLoadXmlWithDTD() { tempfile = TempFileUtil.CreateTempFile("config", "project1.xml", @"<project name=""p1"" />"); string xml = @"<!DOCTYPE cruisecontrol [ <!ENTITY project1 SYSTEM ""file:" + tempfile + @"""> ]> <cruisecontrol>&project1;</cruisecontrol>"; XmlTextReader xr = new XmlTextReader(new StringReader(xml)); XmlValidatingLoader loader = new XmlValidatingLoader(xr); XmlDocument doc = loader.Load(); Assert.IsNotNull(doc, "Unable to load document because it is not valid according to reader"); IConfiguration config = new NetReflectorConfigurationReader().Read(doc, null); Assert.IsNotNull(config.Projects["p1"]); }