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, а потім окремо відстежуйте будь-які додаткові ресурси.

Схожі статті