Help me convert .NET 1.1 Xml validation code to .NET 2.0 please.

Posted by Hamish Grubijan on Stack Overflow See other posts from Stack Overflow or by Hamish Grubijan
Published on 2010-05-04T22:34:23Z Indexed on 2010/05/04 22:48 UTC
Read the original article Hit count: 199

It would be fantastic if you could help me rid of these warnings below. I have not been able to find a good document. Since the warnings are concentrated in just the private void ValidateConfiguration( XmlNode section ) section, hopefully this is not terribly hard to answer, if you have encountered this before.

Thanks!

'System.Configuration.ConfigurationException.ConfigurationException(string)' is obsolete: 'This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException'   

'System.Xml.XmlValidatingReader' is obsolete: 'Use XmlReader created by XmlReader.Create() method using appropriate XmlReaderSettings instead. http://go.microsoft.com/fwlink/?linkid=14202'    

private void ValidateConfiguration( XmlNode section )
{                
    // throw if there is no configuration node.
    if( null == section )
    {
        throw new ConfigurationException("The configuration section passed within the ... class was null ... there must be a configuration file defined.", section );
    }
    //Validate the document using a schema
    XmlValidatingReader vreader = new XmlValidatingReader( new XmlTextReader( new StringReader( section.OuterXml ) ) );
    //  open stream on Resources; the XSD is set as an "embedded resource" so Resource can open a stream on it
    using (Stream xsdFile = XYZ.GetStream("ABC.xsd"))
    using (StreamReader sr = new StreamReader(xsdFile))
    {
        vreader.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
        vreader.Schemas.Add(XmlSchema.Read(new XmlTextReader(sr), null));
        vreader.ValidationType = ValidationType.Schema;
        // Validate the document
        while (vreader.Read()) { }

        if (!_isValidDocument)
        {
            _schemaErrors = _sb.ToString();
            throw new ConfigurationException("XML Document not valid");
        }
    }
}

// Does not cause warnings.
private void ValidationCallBack( object sender, ValidationEventArgs args )
{
    //  check what KIND of problem the schema validation reader has;
    //  on FX 1.0, it gives a warning for "<xs:any...skip" sections.  Don't worry about those, only set validation false
    //  for real errors
    if( args.Severity == XmlSeverityType.Error )
    {
        _isValidDocument = false;
        _sb.Append( args.Message + Environment.NewLine );
    }
}

© Stack Overflow or respective owner

Related posts about asp.net-1.1

Related posts about c#