Жүктөлгөн XMLди .NET XmlReaderге агым катары берүү
Проксиден өткөн жооп агымын XML талдоочуга бериңиз, баштапкы URLди кайра алууну талап кылбастан.
HTTP кардары XMLди туура прокси аркылуу жүктөйт. Кийинки сап баштапкы URLден XML окугучун түзөт. Бул сап жүктөлгөн дайындарды талдоонун ордуна дагы бир алууну баштайт.
Максаттуу маршрут менен буга чейин конфигурацияланган кардар үчүн анын жооп агымын талдоочуга бериңиз:
using var response = await client.GetAsync(documentUri);
response.EnsureSuccessStatusCode();
using var stream = await response.Content.ReadAsStreamAsync();
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};
using var reader = XmlReader.Create(stream, settings, documentUri.AbsoluteUri);
var document = XDocument.Load(reader);
Тиешелүү аттар мейкиндиктери System.Xml жана System.Xml.Linq. Мисал DTD иштетүүнү жана сырткы чечүүнү атайын өчүрөт; бул ошол эле кардар аркылуу каалаган сырткы субъектилерди алуу жолу эмес.
Негизги URI документтин жайгашуу метаберилишин сактайт. Эгер бекитилген талдоо же текшерүү иш агымы сырткы схемаларды же башка көз карандылыктарды чынында алса, ал алууларга өздөрүнүн ачык чечүүчүсү жана маршруттоо дизайны керек.
Экинчи тармактык бузулушту биринчи, ийгиликтүү кардардын сырсөзүн өзгөртүү менен диагностикалабаңыз. Талдоочу агым алдыбы же URL алдыбы, аныктаңыз, андан кийин кошумча ресурстарды өзүнчө көзөмөлдөңүз.