System.Xml.XmlReaderSettings.CreateReader C# (CSharp) Méthode

CreateReader() private méthode

private CreateReader ( Stream input, Uri baseUri, string baseUriString, XmlParserContext inputContext ) : XmlReader
input System.IO.Stream
baseUri Uri
baseUriString string
inputContext XmlParserContext
Résultat XmlReader
        internal XmlReader CreateReader(Stream input, Uri baseUri, string baseUriString, XmlParserContext inputContext)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }
            if (baseUriString == null)
            {
                if (baseUri == null)
                {
                    baseUriString = string.Empty;
                }
                else
                {
                    baseUriString = baseUri.ToString();
                }
            }

            // create text XML reader
            XmlReader reader = new XmlTextReaderImpl(input, null, 0, this, baseUri, baseUriString, inputContext, _closeInput);

            // wrap with validating reader
            if (this.ValidationType != ValidationType.None)
            {
                reader = AddValidation(reader);
            }

            if (_useAsync)
            {
                reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader);
            }

            return reader;
        }

Same methods

XmlReaderSettings::CreateReader ( String inputUri, XmlParserContext inputContext ) : XmlReader
XmlReaderSettings::CreateReader ( TextReader input, string baseUriString, XmlParserContext inputContext ) : XmlReader
XmlReaderSettings::CreateReader ( XmlReader reader ) : XmlReader

Usage Example

Exemple #1
0
        internal XmlReader CreateReader(string inputUri, XmlParserContext inputContext)
        {
            XmlReader reader;

            if (inputUri == null)
            {
                throw new ArgumentNullException("inputUri");
            }
            if (inputUri.Length == 0)
            {
                throw new ArgumentException(Res.GetString("XmlConvert_BadUri"), "inputUri");
            }
            System.Xml.XmlResolver xmlResolver = this.GetXmlResolver();
            if (xmlResolver == null)
            {
                xmlResolver = this.CreateDefaultResolver();
            }
            Uri    absoluteUri = xmlResolver.ResolveUri(null, inputUri);
            Stream input       = (Stream)xmlResolver.GetEntity(absoluteUri, string.Empty, typeof(Stream));

            if (input == null)
            {
                throw new XmlException("Xml_CannotResolveUrl", inputUri);
            }
            XmlReaderSettings settings = this;

            if (!settings.CloseInput)
            {
                settings            = settings.Clone();
                settings.CloseInput = true;
            }
            try
            {
                reader = settings.CreateReader(input, absoluteUri, null, inputContext);
            }
            catch
            {
                input.Close();
                throw;
            }
            return(reader);
        }