De HTTP-klient downloadet de XML fia de juste proxy. De folgjende rigel makket in XML-lêzer fan 'e oarspronklike URL. Dy rigel begjint in nije ophelling yn stee fan 'e downloade gegevens te parsen.

Foar in klient dy't al mei de bedoelde rûte konfigurearre is, jou syn antwurdstream oan de parser:

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);

De relevante nammeromten binne System.Xml en System.Xml.Linq. It foarbyld skeakelet DTD-ferwurking en eksterne oplossing bewust út; it is gjin manier om willekeurige eksterne entiteiten fia deselde klant op te heljen.

De basis-URI bewarret de lokaasje-metadata fan it dokumint. As in goedkarde parse- of falidaasje-wurkstream dochs eksterne skema's of oare ôfhinklikheden ophellet, hawwe dy ophellings har eigen eksplisite oplosser en routing-ûntwerp nedich.

Diagnostisearje in twadde netwurkflater net troch it wachtwurd fan 'e earste, slagge klant te feroarjen. Stel fêst oft de parser in stream of in URL krige, en folgje dêrnei eventuele ekstra boarnen apart.

Relatearre artikelen