private CreateReader ( |
||
input | ||
baseUri | Uri | |
baseUriString | string | |
inputContext | ||
return | XmlReader |
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); }