XmlStreamReader(XmlInputStream input) : base(input, input.ActualEncoding != null ? input.ActualEncoding : XmlInputStream.StrictUTF8) { this.input = input; }
private XmlStreamReader(XmlInputStream input) : base(input, (input.ActualEncoding == null) ? XmlInputStream.StrictUTF8 : input.ActualEncoding) { this.input = input; }
XmlStreamReader (XmlInputStream input) : base (input, input.ActualEncoding != null ? input.ActualEncoding : XmlInputStream.StrictUTF8) { this.input = input; }
private void Initialize(Stream stream) { this.buffer = new byte[64]; this.stream = stream; this.enc = XmlInputStream.StrictUTF8; this.bufLength = stream.Read(this.buffer, 0, this.buffer.Length); if (this.bufLength == -1 || this.bufLength == 0) { return; } int i = this.ReadByteSpecial(); int num = i; if (num != 254) { if (num != 255) { if (num != 60) { if (num != 239) { this.bufPos = 0; } else { i = this.ReadByteSpecial(); if (i == 187) { i = this.ReadByteSpecial(); if (i != 191) { this.bufPos = 0; } } else { this.buffer[--this.bufPos] = 239; } } } else { if (this.bufLength >= 5 && XmlInputStream.GetStringFromBytes(this.buffer, 1, 4) == "?xml") { this.bufPos += 4; i = this.SkipWhitespace(); if (i == 118) { while (i >= 0) { i = this.ReadByteSpecial(); if (i == 48) { this.ReadByteSpecial(); break; } } i = this.SkipWhitespace(); } if (i == 101) { int num2 = this.bufLength - this.bufPos; if (num2 >= 7 && XmlInputStream.GetStringFromBytes(this.buffer, this.bufPos, 7) == "ncoding") { this.bufPos += 7; i = this.SkipWhitespace(); if (i != 61) { throw XmlInputStream.encodingException; } i = this.SkipWhitespace(); int num3 = i; StringBuilder stringBuilder = new StringBuilder(); for (;;) { i = this.ReadByteSpecial(); if (i == num3) { break; } if (i < 0) { goto Block_19; } stringBuilder.Append((char)i); } string text = stringBuilder.ToString(); if (!XmlChar.IsValidIANAEncoding(text)) { throw XmlInputStream.encodingException; } this.enc = Encoding.GetEncoding(text); goto IL_272; Block_19: throw XmlInputStream.encodingException; } } } IL_272: this.bufPos = 0; } } else { i = this.ReadByteSpecial(); if (i == 254) { this.enc = Encoding.Unicode; } else { this.bufPos = 0; } } } else { i = this.ReadByteSpecial(); if (i == 255) { this.enc = Encoding.BigEndianUnicode; return; } this.bufPos = 0; } }