HTTP հաճախորդը XML-ը ներբեռնում է ճիշտ պրոքսիով։ Հաջորդ տողը սկզբնական URL-ից ստեղծում է XML ընթերցիչ։ Այդ տողը սկսում է նոր ձեռքբերում՝ ներբեռնված տվյալները վերլուծելու փոխարեն։

Նպատակային երթուղով արդեն կարգավորված հաճախորդի համար փոխանցեք նրա պատասխանի հոսքը վերլուծիչին՝

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

Համապատասխան անվանատարածքներն են System.Xml և System.Xml.Linq։ Օրինակը դիտավորյալ անջատում է DTD-ի մշակումը և արտաքին լուծումը․ դա նույն հաճախորդով կամայական արտաքին սուբյեկտներ բերելու միջոց չէ։

Հիմնական URI-ն պահպանում է փաստաթղթի տեղադրության մետատվյալները։ Եթե հաստատված վերլուծության կամ վավերացման աշխատահոսքը իսկապես բերում է արտաքին սխեմաներ կամ այլ կախվածություններ, այդ ձեռքբերումները պահանջում են իրենց բացահայտ լուծիչը և երթուղային ձևավորումը։

Մի՛ ախտորոշեք երկրորդ ցանցային ձախողումը՝ փոխելով գաղտնաբառը առաջին, հաջող հաճախորդի վրա։ Պարզեք՝ վերլուծիչը հոսք է ստացել, թե URL, ապա ցանկացած լրացուցիչ ռեսուրս հետևեք առանձին։

Առնչվող հոդվածներ