Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlDictionaryReader.cs
Go to the documentation of this file.
3using System.IO;
5using System.Text;
6
7namespace System.Xml;
8
9public abstract class XmlDictionaryReader : XmlReader
10{
12 {
13 private readonly XmlReader _reader;
14
16
17 public override int AttributeCount => _reader.AttributeCount;
18
19 public override string BaseURI => _reader.BaseURI;
20
22
24
25 public override int Depth => _reader.Depth;
26
27 public override bool EOF => _reader.EOF;
28
29 public override bool HasValue => _reader.HasValue;
30
31 public override bool IsDefault => _reader.IsDefault;
32
33 public override bool IsEmptyElement => _reader.IsEmptyElement;
34
35 public override string LocalName => _reader.LocalName;
36
37 public override string Name => _reader.Name;
38
39 public override string NamespaceURI => _reader.NamespaceURI;
40
42
44
45 public override string Prefix => _reader.Prefix;
46
48
49 public override string this[int index] => _reader[index];
50
51 public override string this[string name] => _reader[name];
52
53 public override string this[string name, string namespaceUri] => _reader[name, namespaceUri];
54
55 public override string Value => _reader.Value;
56
57 public override string XmlLang => _reader.XmlLang;
58
59 public override XmlSpace XmlSpace => _reader.XmlSpace;
60
61 public override Type ValueType => _reader.ValueType;
62
63 public int LineNumber
64 {
65 get
66 {
68 {
69 return 1;
70 }
71 return xmlLineInfo.LineNumber;
72 }
73 }
74
75 public int LinePosition
76 {
77 get
78 {
80 {
81 return 1;
82 }
83 return xmlLineInfo.LinePosition;
84 }
85 }
86
88 {
89 _reader = reader;
90 _nsMgr = nsMgr;
91 }
92
93 public override void Close()
94 {
96 _nsMgr = null;
97 }
98
99 public override string GetAttribute(int index)
100 {
101 return _reader.GetAttribute(index);
102 }
103
104 public override string GetAttribute(string name)
105 {
106 return _reader.GetAttribute(name);
107 }
108
109 public override string GetAttribute(string name, string namespaceUri)
110 {
111 return _reader.GetAttribute(name, namespaceUri);
112 }
113
114 public override bool IsStartElement(string name)
115 {
116 return _reader.IsStartElement(name);
117 }
118
119 public override bool IsStartElement(string localName, string namespaceUri)
120 {
121 return _reader.IsStartElement(localName, namespaceUri);
122 }
123
124 public override string LookupNamespace(string namespaceUri)
125 {
126 return _reader.LookupNamespace(namespaceUri);
127 }
128
129 public override void MoveToAttribute(int index)
130 {
132 }
133
134 public override bool MoveToAttribute(string name)
135 {
136 return _reader.MoveToAttribute(name);
137 }
138
139 public override bool MoveToAttribute(string name, string namespaceUri)
140 {
141 return _reader.MoveToAttribute(name, namespaceUri);
142 }
143
144 public override bool MoveToElement()
145 {
146 return _reader.MoveToElement();
147 }
148
149 public override bool MoveToFirstAttribute()
150 {
152 }
153
154 public override bool MoveToNextAttribute()
155 {
157 }
158
159 public override bool Read()
160 {
161 return _reader.Read();
162 }
163
164 public override bool ReadAttributeValue()
165 {
167 }
168
169 public override string ReadInnerXml()
170 {
171 return _reader.ReadInnerXml();
172 }
173
174 public override string ReadOuterXml()
175 {
176 return _reader.ReadOuterXml();
177 }
178
179 public override void ReadStartElement(string name)
180 {
182 }
183
184 public override void ReadStartElement(string localName, string namespaceUri)
185 {
186 _reader.ReadStartElement(localName, namespaceUri);
187 }
188
189 public override void ReadEndElement()
190 {
192 }
193
194 public override void ResolveEntity()
195 {
197 }
198
199 public override int ReadElementContentAsBase64(byte[] buffer, int offset, int count)
200 {
202 }
203
204 public override int ReadContentAsBase64(byte[] buffer, int offset, int count)
205 {
207 }
208
209 public override int ReadElementContentAsBinHex(byte[] buffer, int offset, int count)
210 {
212 }
213
214 public override int ReadContentAsBinHex(byte[] buffer, int offset, int count)
215 {
217 }
218
219 public override int ReadValueChunk(char[] chars, int offset, int count)
220 {
222 }
223
239
241 {
243 }
244
264
284
304
324
344
360
365
366 public bool HasLineInfo()
367 {
369 {
370 return false;
371 }
372 return xmlLineInfo.HasLineInfo();
373 }
374 }
375
376 internal const int MaxInitialArrayLength = 65535;
377
378 public virtual bool CanCanonicalize => false;
379
381
383 {
384 if (reader == null)
385 {
387 }
389 if (xmlDictionaryReader == null)
390 {
391 xmlDictionaryReader = new XmlWrappedReader(reader, null);
392 }
393 return xmlDictionaryReader;
394 }
395
397 {
398 if (buffer == null)
399 {
401 }
402 return CreateBinaryReader(buffer, 0, buffer.Length, quotas);
403 }
404
409
414
419
426
431
436
441
448
450 {
451 if (buffer == null)
452 {
454 }
455 return CreateTextReader(buffer, 0, buffer.Length, quotas);
456 }
457
459 {
460 return CreateTextReader(buffer, offset, count, null, quotas, null);
461 }
462
463 public static XmlDictionaryReader CreateTextReader(byte[] buffer, int offset, int count, Encoding? encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose? onClose)
464 {
466 xmlUTF8TextReader.SetInput(buffer, offset, count, encoding, quotas, onClose);
467 return xmlUTF8TextReader;
468 }
469
474
476 {
478 xmlUTF8TextReader.SetInput(stream, encoding, quotas, onClose);
479 return xmlUTF8TextReader;
480 }
481
483 {
484 if (encoding == null)
485 {
487 }
488 return CreateMtomReader(stream, new Encoding[1] { encoding }, quotas);
489 }
490
495
500
505
507 {
508 if (encoding == null)
509 {
511 }
512 return CreateMtomReader(buffer, offset, count, new Encoding[1] { encoding }, quotas);
513 }
514
519
524
529
534
539
540 public virtual void MoveToStartElement()
541 {
542 if (!IsStartElement())
543 {
545 }
546 }
547
548 public virtual void MoveToStartElement(string name)
549 {
550 if (!IsStartElement(name))
551 {
553 }
554 }
555
556 public virtual void MoveToStartElement(string localName, string namespaceUri)
557 {
558 if (!IsStartElement(localName, namespaceUri))
559 {
560 XmlExceptionHelper.ThrowStartElementExpected(this, localName, namespaceUri);
561 }
562 }
563
564 public virtual void MoveToStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
565 {
566 if (!IsStartElement(localName, namespaceUri))
567 {
568 XmlExceptionHelper.ThrowStartElementExpected(this, localName, namespaceUri);
569 }
570 }
571
572 public virtual bool IsLocalName(string localName)
573 {
574 return LocalName == localName;
575 }
576
577 public virtual bool IsLocalName(XmlDictionaryString localName)
578 {
579 if (localName == null)
580 {
582 }
583 return IsLocalName(localName.Value);
584 }
585
586 public virtual bool IsNamespaceUri(string namespaceUri)
587 {
588 if (namespaceUri == null)
589 {
591 }
592 return NamespaceURI == namespaceUri;
593 }
594
595 public virtual bool IsNamespaceUri(XmlDictionaryString namespaceUri)
596 {
597 if (namespaceUri == null)
598 {
600 }
601 return IsNamespaceUri(namespaceUri.Value);
602 }
603
604 public virtual void ReadFullStartElement()
605 {
607 if (IsEmptyElement)
608 {
610 }
611 Read();
612 }
613
614 public virtual void ReadFullStartElement(string name)
615 {
616 MoveToStartElement(name);
617 if (IsEmptyElement)
618 {
620 }
621 Read();
622 }
623
624 public virtual void ReadFullStartElement(string localName, string namespaceUri)
625 {
626 MoveToStartElement(localName, namespaceUri);
627 if (IsEmptyElement)
628 {
629 XmlExceptionHelper.ThrowFullStartElementExpected(this, localName, namespaceUri);
630 }
631 Read();
632 }
633
634 public virtual void ReadFullStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
635 {
636 MoveToStartElement(localName, namespaceUri);
637 if (IsEmptyElement)
638 {
639 XmlExceptionHelper.ThrowFullStartElementExpected(this, localName, namespaceUri);
640 }
641 Read();
642 }
643
644 public virtual void ReadStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
645 {
646 MoveToStartElement(localName, namespaceUri);
647 Read();
648 }
649
650 public virtual bool IsStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
651 {
653 }
654
655 public virtual int IndexOfLocalName(string[] localNames, string namespaceUri)
656 {
657 if (localNames == null)
658 {
660 }
661 if (namespaceUri == null)
662 {
664 }
665 if (NamespaceURI == namespaceUri)
666 {
667 string localName = LocalName;
668 for (int i = 0; i < localNames.Length; i++)
669 {
670 string text = localNames[i];
671 if (text == null)
672 {
674 }
675 if (localName == text)
676 {
677 return i;
678 }
679 }
680 }
681 return -1;
682 }
683
685 {
686 if (localNames == null)
687 {
689 }
690 if (namespaceUri == null)
691 {
693 }
694 if (NamespaceURI == namespaceUri.Value)
695 {
696 string localName = LocalName;
697 for (int i = 0; i < localNames.Length; i++)
698 {
700 if (xmlDictionaryString == null)
701 {
703 }
704 if (localName == xmlDictionaryString.Value)
705 {
706 return i;
707 }
708 }
709 }
710 return -1;
711 }
712
713 public virtual string? GetAttribute(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
714 {
716 }
717
718 public virtual bool TryGetBase64ContentLength(out int length)
719 {
720 length = 0;
721 return false;
722 }
723
724 public virtual int ReadValueAsBase64(byte[] buffer, int offset, int count)
725 {
727 }
728
729 public virtual byte[] ReadContentAsBase64()
730 {
732 }
733
735 {
737 {
738 byte[] array = new byte[length];
739 int num;
740 for (int i = 0; i < length; i += num)
741 {
742 num = ReadContentAsBase64(array, i, length - i);
743 if (num == 0)
744 {
746 }
747 }
748 return array;
749 }
751 }
752
753 public override string ReadContentAsString()
754 {
756 }
757
759 {
761 string text = string.Empty;
762 bool flag = false;
763 while (true)
764 {
765 switch (NodeType)
766 {
767 case XmlNodeType.Attribute:
768 text = Value;
769 break;
770 case XmlNodeType.Text:
771 case XmlNodeType.CDATA:
772 case XmlNodeType.Whitespace:
773 case XmlNodeType.SignificantWhitespace:
774 {
775 string value = Value;
776 if (text.Length == 0)
777 {
778 text = value;
779 break;
780 }
781 if (stringBuilder == null)
782 {
784 }
785 if (stringBuilder.Length > maxStringContentLength - value.Length)
786 {
788 }
789 stringBuilder.Append(value);
790 break;
791 }
792 case XmlNodeType.EntityReference:
794 {
796 break;
797 }
798 goto default;
799 default:
800 flag = true;
801 break;
802 case XmlNodeType.ProcessingInstruction:
803 case XmlNodeType.Comment:
804 case XmlNodeType.EndEntity:
805 break;
806 }
807 if (flag)
808 {
809 break;
810 }
811 if (AttributeCount != 0)
812 {
814 }
815 else
816 {
817 Read();
818 }
819 }
820 if (stringBuilder != null)
821 {
822 text = stringBuilder.ToString();
823 }
824 if (text.Length > maxStringContentLength)
825 {
827 }
828 return text;
829 }
830
831 public override string ReadString()
832 {
834 }
835
836 protected string ReadString(int maxStringContentLength)
837 {
838 if (ReadState != ReadState.Interactive)
839 {
840 return string.Empty;
841 }
842 if (NodeType != XmlNodeType.Element)
843 {
845 }
846 if (NodeType == XmlNodeType.Element)
847 {
848 if (IsEmptyElement)
849 {
850 return string.Empty;
851 }
852 if (!Read())
853 {
855 }
856 if (NodeType == XmlNodeType.EndElement)
857 {
858 return string.Empty;
859 }
860 }
862 string text = string.Empty;
863 while (IsTextNode(NodeType))
864 {
865 string value = Value;
866 if (text.Length == 0)
867 {
868 text = value;
869 }
870 else
871 {
872 if (stringBuilder == null)
873 {
875 }
876 if (stringBuilder.Length > maxStringContentLength - value.Length)
877 {
879 }
880 stringBuilder.Append(value);
881 }
882 if (!Read())
883 {
885 }
886 }
887 if (stringBuilder != null)
888 {
889 text = stringBuilder.ToString();
890 }
891 if (text.Length > maxStringContentLength)
892 {
894 }
895 return text;
896 }
897
898 public virtual byte[] ReadContentAsBinHex()
899 {
901 }
902
907
909 {
910 byte[][] array = new byte[32][];
911 int num = 384;
912 int num2 = 0;
913 int num3 = 0;
914 byte[] array2;
915 while (true)
916 {
917 array2 = new byte[num];
918 array[num2++] = array2;
919 int i;
920 int num4;
921 for (i = 0; i < array2.Length; i += num4)
922 {
923 num4 = ((!base64) ? ReadContentAsBinHex(array2, i, array2.Length - i) : ReadContentAsBase64(array2, i, array2.Length - i));
924 if (num4 == 0)
925 {
926 break;
927 }
928 }
929 num3 += i;
930 if (i < array2.Length)
931 {
932 break;
933 }
934 num *= 2;
935 }
936 array2 = new byte[num3];
937 int num5 = 0;
938 for (int j = 0; j < num2 - 1; j++)
939 {
940 Buffer.BlockCopy(array[j], 0, array2, num5, array[j].Length);
941 num5 += array[j].Length;
942 }
944 return array2;
945 }
946
947 protected bool IsTextNode(XmlNodeType nodeType)
948 {
949 if (nodeType != XmlNodeType.Text && nodeType != XmlNodeType.Whitespace && nodeType != XmlNodeType.SignificantWhitespace && nodeType != XmlNodeType.CDATA)
950 {
951 return nodeType == XmlNodeType.Attribute;
952 }
953 return true;
954 }
955
956 public virtual int ReadContentAsChars(char[] chars, int offset, int count)
957 {
958 int num = 0;
959 while (true)
960 {
961 XmlNodeType nodeType = NodeType;
962 if (nodeType == XmlNodeType.Element || nodeType == XmlNodeType.EndElement)
963 {
964 break;
965 }
966 if (IsTextNode(nodeType))
967 {
969 if (num > 0 || nodeType == XmlNodeType.Attribute || !Read())
970 {
971 break;
972 }
973 }
974 else if (!Read())
975 {
976 break;
977 }
978 }
979 return num;
980 }
981
983 {
984 if (type == typeof(Guid[]))
985 {
986 string[] array = (string[])ReadContentAs(typeof(string[]), namespaceResolver);
987 Guid[] array2 = new Guid[array.Length];
988 for (int i = 0; i < array.Length; i++)
989 {
991 }
992 return array2;
993 }
994 if (type == typeof(UniqueId[]))
995 {
996 string[] array3 = (string[])ReadContentAs(typeof(string[]), namespaceResolver);
997 UniqueId[] array4 = new UniqueId[array3.Length];
998 for (int j = 0; j < array3.Length; j++)
999 {
1001 }
1002 return array4;
1003 }
1004 return base.ReadContentAs(type, namespaceResolver);
1005 }
1006
1007 public virtual string ReadContentAsString(string[] strings, out int index)
1008 {
1009 if (strings == null)
1010 {
1012 }
1013 string text = ReadContentAsString();
1014 index = -1;
1015 for (int i = 0; i < strings.Length; i++)
1016 {
1017 string text2 = strings[i];
1018 if (text2 == null)
1019 {
1021 }
1022 if (text2 == text)
1023 {
1024 index = i;
1025 return text2;
1026 }
1027 }
1028 return text;
1029 }
1030
1031 public virtual string ReadContentAsString(XmlDictionaryString[] strings, out int index)
1032 {
1033 if (strings == null)
1034 {
1036 }
1037 string text = ReadContentAsString();
1038 index = -1;
1039 for (int i = 0; i < strings.Length; i++)
1040 {
1042 if (xmlDictionaryString == null)
1043 {
1045 }
1046 if (xmlDictionaryString.Value == text)
1047 {
1048 index = i;
1049 return xmlDictionaryString.Value;
1050 }
1051 }
1052 return text;
1053 }
1054
1055 public override decimal ReadContentAsDecimal()
1056 {
1058 }
1059
1060 public override float ReadContentAsFloat()
1061 {
1063 }
1064
1066 {
1068 }
1069
1070 public virtual Guid ReadContentAsGuid()
1071 {
1073 }
1074
1076 {
1078 }
1079
1080 public virtual void ReadContentAsQualifiedName(out string localName, out string namespaceUri)
1081 {
1083 namespaceUri = LookupNamespace(prefix);
1084 if (namespaceUri == null)
1085 {
1087 }
1088 }
1089
1090 public override string ReadElementContentAsString()
1091 {
1092 string result;
1094 {
1095 Read();
1096 result = string.Empty;
1097 }
1098 else
1099 {
1101 result = ReadContentAsString();
1103 }
1104 return result;
1105 }
1106
1107 public override bool ReadElementContentAsBoolean()
1108 {
1109 bool result;
1111 {
1112 Read();
1113 result = XmlConverter.ToBoolean(string.Empty);
1114 }
1115 else
1116 {
1118 result = ReadContentAsBoolean();
1120 }
1121 return result;
1122 }
1123
1124 public override int ReadElementContentAsInt()
1125 {
1126 int result;
1128 {
1129 Read();
1130 result = XmlConverter.ToInt32(string.Empty);
1131 }
1132 else
1133 {
1135 result = ReadContentAsInt();
1137 }
1138 return result;
1139 }
1140
1141 public override long ReadElementContentAsLong()
1142 {
1143 long result;
1145 {
1146 Read();
1147 result = XmlConverter.ToInt64(string.Empty);
1148 }
1149 else
1150 {
1152 result = ReadContentAsLong();
1154 }
1155 return result;
1156 }
1157
1158 public override float ReadElementContentAsFloat()
1159 {
1160 float result;
1162 {
1163 Read();
1164 result = XmlConverter.ToSingle(string.Empty);
1165 }
1166 else
1167 {
1169 result = ReadContentAsFloat();
1171 }
1172 return result;
1173 }
1174
1175 public override double ReadElementContentAsDouble()
1176 {
1177 double result;
1179 {
1180 Read();
1181 result = XmlConverter.ToDouble(string.Empty);
1182 }
1183 else
1184 {
1186 result = ReadContentAsDouble();
1188 }
1189 return result;
1190 }
1191
1192 public override decimal ReadElementContentAsDecimal()
1193 {
1194 decimal result;
1196 {
1197 Read();
1198 result = XmlConverter.ToDecimal(string.Empty);
1199 }
1200 else
1201 {
1203 result = ReadContentAsDecimal();
1205 }
1206 return result;
1207 }
1208
1210 {
1211 DateTime result;
1213 {
1214 Read();
1215 try
1216 {
1218 }
1220 {
1222 }
1224 {
1226 }
1227 }
1228 else
1229 {
1231 result = ReadContentAsDateTime();
1233 }
1234 return result;
1235 }
1236
1238 {
1239 UniqueId result;
1241 {
1242 Read();
1243 try
1244 {
1245 result = new UniqueId(string.Empty);
1246 }
1248 {
1250 }
1252 {
1254 }
1255 }
1256 else
1257 {
1259 result = ReadContentAsUniqueId();
1261 }
1262 return result;
1263 }
1264
1266 {
1267 Guid result;
1269 {
1270 Read();
1271 try
1272 {
1273 result = new Guid(string.Empty);
1274 }
1276 {
1278 }
1280 {
1282 }
1284 {
1286 }
1287 }
1288 else
1289 {
1291 result = ReadContentAsGuid();
1293 }
1294 return result;
1295 }
1296
1298 {
1299 TimeSpan result;
1301 {
1302 Read();
1303 result = XmlConverter.ToTimeSpan(string.Empty);
1304 }
1305 else
1306 {
1308 result = ReadContentAsTimeSpan();
1310 }
1311 return result;
1312 }
1313
1314 public virtual byte[] ReadElementContentAsBase64()
1315 {
1316 byte[] result;
1318 {
1319 Read();
1320 result = Array.Empty<byte>();
1321 }
1322 else
1323 {
1325 result = ReadContentAsBase64();
1327 }
1328 return result;
1329 }
1330
1331 public virtual byte[] ReadElementContentAsBinHex()
1332 {
1333 byte[] result;
1335 {
1336 Read();
1337 result = Array.Empty<byte>();
1338 }
1339 else
1340 {
1342 result = ReadContentAsBinHex();
1344 }
1345 return result;
1346 }
1347
1348 public virtual void GetNonAtomizedNames(out string localName, out string namespaceUri)
1349 {
1350 localName = LocalName;
1351 namespaceUri = NamespaceURI;
1352 }
1353
1355 {
1356 localName = null;
1357 return false;
1358 }
1359
1361 {
1362 namespaceUri = null;
1363 return false;
1364 }
1365
1367 {
1368 value = null;
1369 return false;
1370 }
1371
1395
1396 public virtual bool IsStartArray([NotNullWhen(true)] out Type? type)
1397 {
1398 type = null;
1399 return false;
1400 }
1401
1402 public virtual bool TryGetArrayLength(out int count)
1403 {
1404 count = 0;
1405 return false;
1406 }
1407
1408 public virtual bool[] ReadBooleanArray(string localName, string namespaceUri)
1409 {
1410 return BooleanArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1411 }
1412
1413 public virtual bool[] ReadBooleanArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1414 {
1415 return BooleanArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1416 }
1417
1418 public virtual int ReadArray(string localName, string namespaceUri, bool[] array, int offset, int count)
1419 {
1421 int i;
1422 for (i = 0; i < count; i++)
1423 {
1424 if (!IsStartElement(localName, namespaceUri))
1425 {
1426 break;
1427 }
1429 }
1430 return i;
1431 }
1432
1433 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, bool[] array, int offset, int count)
1434 {
1436 }
1437
1438 public virtual short[] ReadInt16Array(string localName, string namespaceUri)
1439 {
1440 return Int16ArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1441 }
1442
1443 public virtual short[] ReadInt16Array(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1444 {
1445 return Int16ArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1446 }
1447
1448 public virtual int ReadArray(string localName, string namespaceUri, short[] array, int offset, int count)
1449 {
1451 int i;
1452 for (i = 0; i < count; i++)
1453 {
1454 if (!IsStartElement(localName, namespaceUri))
1455 {
1456 break;
1457 }
1458 int num = ReadElementContentAsInt();
1459 if (num < -32768 || num > 32767)
1460 {
1462 }
1463 array[offset + i] = (short)num;
1464 }
1465 return i;
1466 }
1467
1468 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, short[] array, int offset, int count)
1469 {
1471 }
1472
1473 public virtual int[] ReadInt32Array(string localName, string namespaceUri)
1474 {
1475 return Int32ArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1476 }
1477
1478 public virtual int[] ReadInt32Array(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1479 {
1480 return Int32ArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1481 }
1482
1483 public virtual int ReadArray(string localName, string namespaceUri, int[] array, int offset, int count)
1484 {
1486 int i;
1487 for (i = 0; i < count; i++)
1488 {
1489 if (!IsStartElement(localName, namespaceUri))
1490 {
1491 break;
1492 }
1494 }
1495 return i;
1496 }
1497
1498 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, int[] array, int offset, int count)
1499 {
1501 }
1502
1503 public virtual long[] ReadInt64Array(string localName, string namespaceUri)
1504 {
1505 return Int64ArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1506 }
1507
1508 public virtual long[] ReadInt64Array(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1509 {
1510 return Int64ArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1511 }
1512
1513 public virtual int ReadArray(string localName, string namespaceUri, long[] array, int offset, int count)
1514 {
1516 int i;
1517 for (i = 0; i < count; i++)
1518 {
1519 if (!IsStartElement(localName, namespaceUri))
1520 {
1521 break;
1522 }
1524 }
1525 return i;
1526 }
1527
1528 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, long[] array, int offset, int count)
1529 {
1531 }
1532
1533 public virtual float[] ReadSingleArray(string localName, string namespaceUri)
1534 {
1535 return SingleArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1536 }
1537
1538 public virtual float[] ReadSingleArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1539 {
1540 return SingleArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1541 }
1542
1543 public virtual int ReadArray(string localName, string namespaceUri, float[] array, int offset, int count)
1544 {
1546 int i;
1547 for (i = 0; i < count; i++)
1548 {
1549 if (!IsStartElement(localName, namespaceUri))
1550 {
1551 break;
1552 }
1554 }
1555 return i;
1556 }
1557
1558 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, float[] array, int offset, int count)
1559 {
1561 }
1562
1563 public virtual double[] ReadDoubleArray(string localName, string namespaceUri)
1564 {
1565 return DoubleArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1566 }
1567
1568 public virtual double[] ReadDoubleArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1569 {
1570 return DoubleArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1571 }
1572
1573 public virtual int ReadArray(string localName, string namespaceUri, double[] array, int offset, int count)
1574 {
1576 int i;
1577 for (i = 0; i < count; i++)
1578 {
1579 if (!IsStartElement(localName, namespaceUri))
1580 {
1581 break;
1582 }
1584 }
1585 return i;
1586 }
1587
1588 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, double[] array, int offset, int count)
1589 {
1591 }
1592
1593 public virtual decimal[] ReadDecimalArray(string localName, string namespaceUri)
1594 {
1595 return DecimalArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1596 }
1597
1598 public virtual decimal[] ReadDecimalArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1599 {
1600 return DecimalArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1601 }
1602
1603 public virtual int ReadArray(string localName, string namespaceUri, decimal[] array, int offset, int count)
1604 {
1606 int i;
1607 for (i = 0; i < count; i++)
1608 {
1609 if (!IsStartElement(localName, namespaceUri))
1610 {
1611 break;
1612 }
1614 }
1615 return i;
1616 }
1617
1618 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, decimal[] array, int offset, int count)
1619 {
1621 }
1622
1623 public virtual DateTime[] ReadDateTimeArray(string localName, string namespaceUri)
1624 {
1625 return DateTimeArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1626 }
1627
1628 public virtual DateTime[] ReadDateTimeArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1629 {
1630 return DateTimeArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1631 }
1632
1633 public virtual int ReadArray(string localName, string namespaceUri, DateTime[] array, int offset, int count)
1634 {
1636 int i;
1637 for (i = 0; i < count; i++)
1638 {
1639 if (!IsStartElement(localName, namespaceUri))
1640 {
1641 break;
1642 }
1644 }
1645 return i;
1646 }
1647
1648 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, DateTime[] array, int offset, int count)
1649 {
1651 }
1652
1653 public virtual Guid[] ReadGuidArray(string localName, string namespaceUri)
1654 {
1655 return GuidArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1656 }
1657
1658 public virtual Guid[] ReadGuidArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1659 {
1660 return GuidArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1661 }
1662
1663 public virtual int ReadArray(string localName, string namespaceUri, Guid[] array, int offset, int count)
1664 {
1666 int i;
1667 for (i = 0; i < count; i++)
1668 {
1669 if (!IsStartElement(localName, namespaceUri))
1670 {
1671 break;
1672 }
1674 }
1675 return i;
1676 }
1677
1678 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, Guid[] array, int offset, int count)
1679 {
1681 }
1682
1683 public virtual TimeSpan[] ReadTimeSpanArray(string localName, string namespaceUri)
1684 {
1685 return TimeSpanArrayHelperWithString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1686 }
1687
1688 public virtual TimeSpan[] ReadTimeSpanArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
1689 {
1690 return TimeSpanArrayHelperWithDictionaryString.Instance.ReadArray(this, localName, namespaceUri, Quotas.MaxArrayLength);
1691 }
1692
1693 public virtual int ReadArray(string localName, string namespaceUri, TimeSpan[] array, int offset, int count)
1694 {
1696 int i;
1697 for (i = 0; i < count; i++)
1698 {
1699 if (!IsStartElement(localName, namespaceUri))
1700 {
1701 break;
1702 }
1704 }
1705 return i;
1706 }
1707
1708 public virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, TimeSpan[] array, int offset, int count)
1709 {
1711 }
1712}
static void BlockCopy(Array src, int srcOffset, Array dst, int dstOffset, int count)
Definition Buffer.cs:102
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string XmlInvalidOperation
Definition SR.cs:434
static string ValueMustBeNonNegative
Definition SR.cs:296
static string SizeExceedsRemainingBufferSpace
Definition SR.cs:324
static string PlatformNotSupported_MtomEncoding
Definition SR.cs:686
static string OffsetExceedsBufferSize
Definition SR.cs:322
Definition SR.cs:7
static readonly BooleanArrayHelperWithDictionaryString Instance
static readonly BooleanArrayHelperWithString Instance
static readonly DateTimeArrayHelperWithDictionaryString Instance
static readonly DateTimeArrayHelperWithString Instance
static readonly DecimalArrayHelperWithDictionaryString Instance
static readonly DecimalArrayHelperWithString Instance
static readonly DoubleArrayHelperWithDictionaryString Instance
static readonly DoubleArrayHelperWithString Instance
static readonly GuidArrayHelperWithDictionaryString Instance
static readonly GuidArrayHelperWithString Instance
static readonly Int16ArrayHelperWithDictionaryString Instance
static readonly Int16ArrayHelperWithString Instance
static readonly Int32ArrayHelperWithDictionaryString Instance
static readonly Int32ArrayHelperWithString Instance
static readonly Int64ArrayHelperWithDictionaryString Instance
static readonly Int64ArrayHelperWithString Instance
static readonly SingleArrayHelperWithDictionaryString Instance
static readonly SingleArrayHelperWithString Instance
static readonly TimeSpanArrayHelperWithDictionaryString Instance
static readonly TimeSpanArrayHelperWithString Instance
static float ToSingle(string value)
static bool ToBoolean(string value)
static decimal ToDecimal(string value)
static int ToInt32(string value)
static long ToInt64(string value)
static Guid ToGuid(string value)
static TimeSpan ToTimeSpan(string value)
static void ToQualifiedName(string qname, out string prefix, out string localName)
static double ToDouble(string value)
static UniqueId ToUniqueId(string value)
override void ReadStartElement(string localName, string namespaceUri)
override bool MoveToAttribute(string name, string namespaceUri)
override int ReadContentAsBinHex(byte[] buffer, int offset, int count)
override object ReadContentAs(Type type, IXmlNamespaceResolver namespaceResolver)
override string LookupNamespace(string namespaceUri)
override int ReadContentAsBase64(byte[] buffer, int offset, int count)
override bool IsStartElement(string localName, string namespaceUri)
override string GetAttribute(string name, string namespaceUri)
override int ReadValueChunk(char[] chars, int offset, int count)
override int ReadElementContentAsBase64(byte[] buffer, int offset, int count)
XmlWrappedReader(XmlReader reader, XmlNamespaceManager nsMgr)
override int ReadElementContentAsBinHex(byte[] buffer, int offset, int count)
virtual bool[] ReadBooleanArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual void MoveToStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, double[] array, int offset, int count)
virtual int[] ReadInt32Array(string localName, string namespaceUri)
void CheckArray(Array array, int offset, int count)
virtual short[] ReadInt16Array(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual TimeSpan[] ReadTimeSpanArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
static XmlDictionaryReader CreateTextReader(byte[] buffer, XmlDictionaryReaderQuotas quotas)
static XmlDictionaryReader CreateTextReader(Stream stream, Encoding? encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose? onClose)
virtual void ReadFullStartElement(string name)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, decimal[] array, int offset, int count)
virtual bool[] ReadBooleanArray(string localName, string namespaceUri)
virtual TimeSpan ReadElementContentAsTimeSpan()
static XmlDictionaryReader CreateMtomReader(Stream stream, Encoding[] encodings, string? contentType, XmlDictionaryReaderQuotas quotas, int maxBufferSize, OnXmlDictionaryReaderClose? onClose)
virtual int ReadArray(string localName, string namespaceUri, long[] array, int offset, int count)
virtual bool IsStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
static XmlDictionaryReader CreateBinaryReader(Stream stream, IXmlDictionary? dictionary, XmlDictionaryReaderQuotas quotas)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, long[] array, int offset, int count)
static XmlDictionaryReader CreateTextReader(byte[] buffer, int offset, int count, Encoding? encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose? onClose)
static XmlDictionaryReader CreateBinaryReader(Stream stream, IXmlDictionary? dictionary, XmlDictionaryReaderQuotas quotas, XmlBinaryReaderSession? session)
virtual int ReadValueAsBase64(byte[] buffer, int offset, int count)
static XmlDictionaryReader CreateTextReader(Stream stream, XmlDictionaryReaderQuotas quotas)
virtual void MoveToStartElement(string localName, string namespaceUri)
static XmlDictionaryReader CreateTextReader(byte[] buffer, int offset, int count, XmlDictionaryReaderQuotas quotas)
virtual int ReadArray(string localName, string namespaceUri, Guid[] array, int offset, int count)
static XmlDictionaryReader CreateBinaryReader(byte[] buffer, int offset, int count, XmlDictionaryReaderQuotas quotas)
virtual int ReadArray(string localName, string namespaceUri, short[] array, int offset, int count)
byte[] ReadContentAsBinHex(int maxByteArrayContentLength)
static XmlDictionaryReader CreateMtomReader(Stream stream, Encoding[] encodings, string? contentType, XmlDictionaryReaderQuotas quotas)
bool IsTextNode(XmlNodeType nodeType)
virtual bool IsNamespaceUri(XmlDictionaryString namespaceUri)
virtual double[] ReadDoubleArray(string localName, string namespaceUri)
virtual int ReadArray(string localName, string namespaceUri, DateTime[] array, int offset, int count)
virtual double[] ReadDoubleArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual bool TryGetNamespaceUriAsDictionaryString([NotNullWhen(true)] out XmlDictionaryString? namespaceUri)
virtual bool IsLocalName(XmlDictionaryString localName)
virtual long[] ReadInt64Array(string localName, string namespaceUri)
string ReadString(int maxStringContentLength)
override object ReadContentAs(Type type, IXmlNamespaceResolver? namespaceResolver)
virtual DateTime[] ReadDateTimeArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
static XmlDictionaryReader CreateBinaryReader(byte[] buffer, int offset, int count, IXmlDictionary? dictionary, XmlDictionaryReaderQuotas quotas, XmlBinaryReaderSession? session)
virtual decimal[] ReadDecimalArray(string localName, string namespaceUri)
static XmlDictionaryReader CreateBinaryReader(byte[] buffer, int offset, int count, IXmlDictionary? dictionary, XmlDictionaryReaderQuotas quotas)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, int[] array, int offset, int count)
virtual void ReadFullStartElement(string localName, string namespaceUri)
override DateTime ReadElementContentAsDateTime()
override decimal ReadElementContentAsDecimal()
virtual bool IsLocalName(string localName)
virtual bool TryGetBase64ContentLength(out int length)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, float[] array, int offset, int count)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, Guid[] array, int offset, int count)
static XmlDictionaryReader CreateMtomReader(byte[] buffer, int offset, int count, Encoding[] encodings, string? contentType, XmlDictionaryReaderQuotas quotas)
static XmlDictionaryReader CreateMtomReader(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas)
virtual decimal[] ReadDecimalArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual void ReadContentAsQualifiedName(out string localName, out string namespaceUri)
virtual void GetNonAtomizedNames(out string localName, out string namespaceUri)
byte[] ReadContentAsBytes(bool base64, int maxByteArrayContentLength)
virtual void ReadFullStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual long[] ReadInt64Array(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
static XmlDictionaryReader CreateBinaryReader(byte[] buffer, XmlDictionaryReaderQuotas quotas)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, TimeSpan[] array, int offset, int count)
virtual int ReadContentAsChars(char[] chars, int offset, int count)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, short[] array, int offset, int count)
virtual UniqueId ReadElementContentAsUniqueId()
static XmlDictionaryReader CreateMtomReader(byte[] buffer, int offset, int count, Encoding encoding, XmlDictionaryReaderQuotas quotas)
string ReadContentAsString(int maxStringContentLength)
virtual Guid[] ReadGuidArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual int ReadArray(string localName, string namespaceUri, decimal[] array, int offset, int count)
virtual bool IsStartArray([NotNullWhen(true)] out Type? type)
virtual float[] ReadSingleArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual DateTime[] ReadDateTimeArray(string localName, string namespaceUri)
virtual short[] ReadInt16Array(string localName, string namespaceUri)
virtual Guid[] ReadGuidArray(string localName, string namespaceUri)
virtual int IndexOfLocalName(string[] localNames, string namespaceUri)
virtual string ReadContentAsString(string[] strings, out int index)
virtual void ReadStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
byte[] ReadContentAsBase64(int maxByteArrayContentLength, int maxInitialCount)
virtual bool IsNamespaceUri(string namespaceUri)
virtual bool TryGetLocalNameAsDictionaryString([NotNullWhen(true)] out XmlDictionaryString? localName)
static XmlDictionaryReader CreateMtomReader(byte[] buffer, int offset, int count, Encoding[] encodings, XmlDictionaryReaderQuotas quotas)
virtual int ReadArray(string localName, string namespaceUri, TimeSpan[] array, int offset, int count)
static XmlDictionaryReader CreateDictionaryReader(XmlReader reader)
virtual XmlDictionaryReaderQuotas Quotas
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, bool[] array, int offset, int count)
virtual float[] ReadSingleArray(string localName, string namespaceUri)
virtual bool TryGetValueAsDictionaryString([NotNullWhen(true)] out XmlDictionaryString? value)
virtual int ReadArray(string localName, string namespaceUri, bool[] array, int offset, int count)
static XmlDictionaryReader CreateMtomReader(byte[] buffer, int offset, int count, Encoding[] encodings, string? contentType, XmlDictionaryReaderQuotas quotas, int maxBufferSize, OnXmlDictionaryReaderClose? onClose)
virtual TimeSpan[] ReadTimeSpanArray(string localName, string namespaceUri)
virtual int ReadArray(string localName, string namespaceUri, double[] array, int offset, int count)
static XmlDictionaryReader CreateMtomReader(Stream stream, Encoding[] encodings, XmlDictionaryReaderQuotas quotas)
virtual void MoveToStartElement(string name)
virtual int[] ReadInt32Array(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual void StartCanonicalization(Stream stream, bool includeComments, string[]? inclusivePrefixes)
virtual bool TryGetArrayLength(out int count)
static XmlDictionaryReader CreateBinaryReader(Stream stream, IXmlDictionary? dictionary, XmlDictionaryReaderQuotas quotas, XmlBinaryReaderSession? session, OnXmlDictionaryReaderClose? onClose)
virtual int IndexOfLocalName(XmlDictionaryString[] localNames, XmlDictionaryString namespaceUri)
virtual string ReadContentAsString(XmlDictionaryString[] strings, out int index)
static XmlDictionaryReader CreateBinaryReader(byte[] buffer, int offset, int count, IXmlDictionary? dictionary, XmlDictionaryReaderQuotas quotas, XmlBinaryReaderSession? session, OnXmlDictionaryReaderClose? onClose)
virtual ? string GetAttribute(XmlDictionaryString localName, XmlDictionaryString namespaceUri)
virtual int ReadArray(string localName, string namespaceUri, float[] array, int offset, int count)
virtual int ReadArray(XmlDictionaryString localName, XmlDictionaryString namespaceUri, DateTime[] array, int offset, int count)
virtual int ReadArray(string localName, string namespaceUri, int[] array, int offset, int count)
static XmlDictionaryReader CreateBinaryReader(Stream stream, XmlDictionaryReaderQuotas quotas)
static string GetString(XmlDictionaryString s)
static void ThrowMaxStringContentLengthExceeded(XmlDictionaryReader reader, int maxStringContentLength)
static void ThrowUndefinedPrefix(XmlDictionaryReader reader, string prefix)
static void ThrowConversionOverflow(XmlDictionaryReader reader, string value, string type)
static void ThrowBase64DataExpected(XmlDictionaryReader reader)
static void ThrowFullStartElementExpected(XmlDictionaryReader reader)
static void ThrowStartElementExpected(XmlDictionaryReader reader)
static XmlException CreateConversionException(string type, Exception exception)
virtual XmlSpace XmlSpace
Definition XmlReader.cs:96
virtual string ReadContentAsString()
Definition XmlReader.cs:286
virtual Type ValueType
Definition XmlReader.cs:102
virtual long ReadContentAsLong()
Definition XmlReader.cs:270
string? GetAttribute(string name)
virtual bool HasValue
Definition XmlReader.cs:82
virtual bool CanResolveEntity
Definition XmlReader.cs:118
virtual bool IsStartElement()
Definition XmlReader.cs:760
virtual void ReadStartElement()
Definition XmlReader.cs:629
virtual void ReadEndElement()
Definition XmlReader.cs:751
bool MoveToAttribute(string name)
virtual string ReadInnerXml()
Definition XmlReader.cs:958
virtual int ReadValueChunk(char[] buffer, int index, int count)
Definition XmlReader.cs:564
virtual bool IsDefault
Definition XmlReader.cs:92
virtual int ReadContentAsBinHex(byte[] buffer, int index, int count)
Definition XmlReader.cs:554
virtual float ReadContentAsFloat()
Definition XmlReader.cs:222
virtual int ReadContentAsInt()
Definition XmlReader.cs:254
virtual bool ReadContentAsBoolean()
Definition XmlReader.cs:158
virtual string ReadOuterXml()
virtual int ReadElementContentAsBase64(byte[] buffer, int index, int count)
Definition XmlReader.cs:549
virtual string XmlLang
Definition XmlReader.cs:98
string? LookupNamespace(string prefix)
virtual double ReadContentAsDouble()
Definition XmlReader.cs:206
virtual DateTime ReadContentAsDateTime()
Definition XmlReader.cs:174
virtual int ReadContentAsBase64(byte[] buffer, int index, int count)
Definition XmlReader.cs:544
XmlNodeType NodeType
Definition XmlReader.cs:62
virtual object ReadContentAs(Type returnType, IXmlNamespaceResolver? namespaceResolver)
Definition XmlReader.cs:295
XmlNameTable NameTable
Definition XmlReader.cs:116
virtual int ReadElementContentAsBinHex(byte[] buffer, int index, int count)
Definition XmlReader.cs:559
virtual string Name
Definition XmlReader.cs:65
virtual bool CanReadValueChunk
Definition XmlReader.cs:122
virtual bool CanReadBinaryContent
Definition XmlReader.cs:120
static DateTime Parse(string s)
Definition DateTime.cs:919