Orodje HTTP prenese XML prek pravega proxyja. Naslednja vrstica ustvari bralnik XML iz izvornega URL-ja. Ta vrstica začne novo pridobivanje namesto razčlenjevanja prenesenih podatkov.

Za odjemalca, ki je že nastavljen z želeno potjo, posredujte njegov tok odgovora razčlenjevalniku:

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

Ustrezni imenski prostori so System.Xml in System.Xml.Linq. Primer namenoma izklopi obdelavo DTD in zunanje razreševanje; to ni način, da bi prek istega odjemalca pridobivali poljubne zunanje entitete.

Osnovni URI ohranja metapodatke o lokaciji dokumenta. Če odobren potek razčlenjevanja ali preverjanja vseeno pridobiva zunanje sheme ali druge odvisnosti, te pridobitve potrebujejo svoj izrecni razreševalnik in zasnovo usmerjanja.

Druge omrežne okvare ne diagnosticirajte s spreminjanjem gesla pri prvem, uspešnem odjemalcu. Ugotovite, ali je razčlenjevalnik prejel tok ali URL, nato pa morebitne dodatne vire spremljajte ločeno.

Sorodni članki