Allalaaditud XML-i edastamine .NET XmlReaderile voona
Edasta puhverserveri kaudu saadud vastusevoog XML-i parsijale, selle asemel et lasta sellel algne URL uuesti hankida.
HTTP-klient laadib XML-i alla õige puhverserveri kaudu. Järgmine rida loob algse URL-i põhjal XML-lugeja. See rida alustab uut hankimist, selle asemel et alla laaditud andmeid parsida.
Kliendi jaoks, mis on juba kavandatud marsruudiga seadistatud, anna selle vastusevoog parsijale:
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);
Asjakohased nimeruumid on System.Xml ja System.Xml.Linq. Näide keelab teadlikult DTD töötlemise ja välise lahendamise; see ei ole viis suvaliste väliste olemite hankimiseks sama kliendi kaudu.
Baas-URI säilitab dokumendi asukoha metaandmed. Kui kinnitatud parsrimis- või valideerimistöövoog siiski hangib väliseid skeeme või muid sõltuvusi, vajavad need hankimised oma selgesõnalist lahendajat ja marsruutimiskavandit.
Ära diagnoosi teist võrguvea juhtumit, muutes esimese, töötava kliendi parooli. Tee kindlaks, kas parsija sai voo või URL-i, ja seejärel jälgi võimalikke lisaresursse eraldi.