HTTP клијент преузима XML кроз исправни proxy. Следећи ред креира 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, а затим додатне ресурсе пратите одвојено.

Повезани чланци