Předání staženého XML do .NET XmlReader jako stream
Předejte proxy stream odpovědi XML parseru, místo abyste ho nutili znovu načíst původní URL.
Klient HTTP stáhne XML přes správnou proxy. Následující řádek vytvoří čtečku XML z původního URL. Tento řádek zahájí další načítání místo parsování stažených dat.
Pro klienta již nakonfigurovaného se zamýšlenou trasou předejte jeho stream odpovědi parseru:
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);
Příslušné obory názvů jsou System.Xml a System.Xml.Linq. Příklad záměrně vypíná zpracování DTD a externí rozlišení; není to způsob, jak stejným klientem načítat libovolné externí entity.
Základní URI zachovává metadata o umístění dokumentu. Pokud schválený pracovní postup parsování nebo validace přesto načítá externí schémata nebo jiné závislosti, tato načítání potřebují vlastní explicitní resolver a návrh směrování.
Nediagnostikujte druhou síťovou chybu změnou hesla u prvního, úspěšného klienta. Zjistěte, zda parser dostal stream, nebo URL, a potom sledujte případné další zdroje odděleně.