HTTP-klienten lastar ned XML-en gjennom rett proxy. Neste linje lagar ein XML-lesar frå den opphavlege URL-en. Den linja startar ei ny henting i staden for å parse dei nedlasta dataa.

For ein klient som alt er konfigurert med den tiltenkte ruta, gje svarstraumen hans til parsaren:

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

Dei relevante namneromma er System.Xml og System.Xml.Linq. Dømet slår medvite av DTD-handsaming og ekstern oppløysing; det er ikkje ein måte å hente vilkårlege eksterne einingar gjennom den same klienten.

Basis-URI-en tek vare på plasseringsmetadataa til dokumentet. Viss eit godkjent parse- eller valideringsarbeidsflyt likevel hentar eksterne skjema eller andre avhengnader, treng desse hentingane sin eigen eksplisitte oppløysar og ruteteknikk.

Ikkje diagnostiser ein andre nettverksfeil ved å endre passordet på den første, velfungerande klienten. Fastslå om parsaren fekk ein straum eller ein URL, og følg deretter eventuelle ekstra ressursar kvar for seg.

Relaterte artiklar