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, затым асобна абыдзіце любыя дадатковыя рэсурсы.

Падобныя артыкулы