ລູກຄ້າ HTTP ດາວໂຫຼດ XML ຜ່ານພຣັອກຊີທີ່ຖືກຕ້ອງ. ແຖວຕໍ່ໄປສ້າງຕົວອ່ານ XML ຈາກ URL ເດີມ. ແຖວນັ້ນເລີ່ມການເອົາມາໃໝ່ ແທນທີ່ຈະແຍກວິເຄາະຂໍ້ມູນທີ່ດາວໂຫຼດແລ້ວ.

ສຳລັບ ລູກຄ້າທີ່ຕັ້ງຄ່າດ້ວຍເສັ້ນທາງທີ່ຕ້ອງການແລ້ວ ໃຫ້ສົ່ງສະຕຣີມການຕອບສະໜອງຂອງມັນໃຫ້ຕົວແຍກວິເຄາະ:

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, ແລ້ວຕິດຕາມຊັບພະຍາກອນເພີ່ມເຕີມແຍກຕ່າງຫາກ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ