ဒေါင်းလုဒ်လုပ်ထားသော XML ကို .NET XmlReader သို့ stream အဖြစ် ပေးပို့ခြင်း
မူရင်း URL ကို ပြန်လည်ယူရန် မတောင်းဘဲ proxy ဖြင့် သွားသော တုံ့ပြန်မှု stream ကို XML ခွဲခြမ်းစိတ်ဖြာသူထံ ပေးပါ။
HTTP client သည် မှန်ကန်သော proxy မှတစ်ဆင့် XML ကို ဒေါင်းလုဒ်လုပ်သည်။ နောက်လိုင်းသည် မူရင်း URL မှ XML ဖတ်စက်ကို ဖန်တီးသည်။ ထိုလိုင်းသည် ဒေါင်းလုဒ်လုပ်ထားသော ဒေတာကို ခွဲခြမ်းစိတ်ဖြာမည့်အစား နောက်ထပ် ရယူမှုတစ်ခုကို စတင်သည်။
ရည်ရွယ်ထားသော လမ်းကြောင်းဖြင့် ကြိုတင်ပြင်ဆင်ထားပြီးသော client အတွက် ၎င်း၏ တုံ့ပြန်မှု stream ကို ခွဲခြမ်းစိတ်ဖြာသူထံ ပေးပါ-
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);
သက်ဆိုင်သော name space များမှာ System.Xml နှင့် System.Xml.Linq ဖြစ်သည်။ ဥပမာသည် DTD လုပ်ဆောင်မှုနှင့် ပြင်ပ ဖြေရှင်းမှုကို တမင်ပိတ်ထားသည်။ ၎င်းသည် တူညီသော client မှတစ်ဆင့် မည်သည့် ပြင်ပ entity ကိုမဆို ယူရန် နည်းလမ်း မဟုတ်ပါ။
အခြေခံ URI သည် စာရွက်စာတမ်း၏ တည်နေရာ မက်တာဒေတာကို ထိန်းသိမ်းသည်။ အတည်ပြုထားသော ခွဲခြမ်းစိတ်ဖြာမှု သို့မဟုတ် အတည်ပြုစစ်ဆေးမှု လုပ်ငန်းစဉ်သည် ပြင်ပ schema များ သို့မဟုတ် အခြား မှီခိုမှုများကို အမှန်တကယ် ယူပါက ထို ရယူမှုများအတွက် ၎င်းတို့၏ ကိုယ်ပိုင် တိကျသော ဖြေရှင်းစက်နှင့် လမ်းကြောင်းသတ်မှတ်မှု ဒီဇိုင်း လိုအပ်သည်။
ပထမဆုံး အောင်မြင်သော client ပေါ်ရှိ စကားဝှက်ကို ပြောင်းခြင်းဖြင့် ဒုတိယ ကွန်ရက် ချို့ယွင်းမှုကို ရောဂါရှာဖွေမနေပါနှင့်။ ခွဲခြမ်းစိတ်ဖြာသူသည် stream ရသလား URL ရသလား ဆုံးဖြတ်ပြီးနောက် နောက်ထပ် အရင်းအမြစ်များကို သီးခြား လိုက်ပါ။