示例#1
0
        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"]);
		}