HTTP-asiakas lataa XML:n oikean välityspalvelimen kautta. Seuraava rivi luo XML-lukijan alkuperäisestä URL-osoitteesta. Tämä rivi aloittaa uuden haun sen sijaan, että se jäsentäisi ladatut tiedot.

Asiakkaalle, joka on jo määritetty aiottuun reittiin, anna sen vastausvirta jäsentimelle:

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

Asiaankuuluvat nimiavaruudet ovat System.Xml ja System.Xml.Linq. Esimerkki poistaa tarkoituksella käytöstä DTD-käsittelyn ja ulkoisen ratkaisun; se ei ole tapa hakea mielivaltaisia ulkoisia entiteettejä saman asiakkaan kautta.

Perus-URI säilyttää asiakirjan sijaintimetatiedot. Jos hyväksytty jäsennys- tai validointityönkulku kuitenkin hakee ulkoisia skeemoja tai muita riippuvuuksia, nuo haut tarvitsevat oman eksplisiittisen ratkaisijansa ja reitityssuunnittelun.

Älä diagnosoi toista verkkovirhettä vaihtamalla salasanaa ensimmäisessä, toimivassa asiakkaassa. Selvitä, saiko jäsennin virran vai URL-osoitteen, ja seuraa sitten mahdollisia lisäresursseja erikseen.

Aiheeseen liittyvät artikkelit