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, შემდეგ ნებისმიერ დამატებით რესურს ცალკე მიჰყევით.

დაკავშირებული სტატიები