से एक्सएमएल पढ़ना मैं एएसपी.नेट के साथ काम कर रहा हूं, और एक फॉर्म से एक्सएमएल फाइल आयात कर रहा हूं। अभी मैं एक Stream
में है कि परिवर्तित:स्ट्रीम
Stream inputStream = XmlFileUploadControl.PostedFile.InputStream;
क्योंकि मैं इस संस्करण बाद में पड़ सकता है।
मैं पहली बार लगता है कि एक्सएमएल फ़ाइल सही स्वरूप है बनाना करने के लिए जाँच करना चाहते हैं, और, अगर ऐसा है, तो कुछ जानकारी प्रदर्शित:
if (CorrectFileFormat(inputStream))
{
DisplayLicenseInfo(inputStream);
}
else
{
StatusLabel.Text = "Selected file is not a LicensingDiag XML file";
}
CorrectFileFormat()
विधि:
protected Boolean CorrectFileFormat(Stream inputStream)
{
XmlReader reader = XmlReader.Create(inputStream);
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "DiagReport")
{
return true;
}
}
DisplayLicenseInfo()
विधि:
protected void DisplayLicenseInfo(Stream inputStream)
{
XmlReader reader = XmlReader.Create(inputStream);
if (reader.MoveToContent() == XmlNodeType.Element && reader.Name == "LicensingStatus")
{
StatusLabel.Text += ("Licensing Status: " + reader.ReadString() + "<br><br>");
}
}
हालांकि, मैं कर रहा हूँ XmlException
का सामना करना जो कहता है "रूट स्तर पर डेटा अमान्य है। क्योंकि मैं पहले से ही एक बार इनपुट स्ट्रीम के माध्यम से पढ़ा है, और उसे रीसेट करना लाइन 1, स्थिति 1 "। इस है? यदि हां, तो मैं कैसे करते हो?
स्ट्रिंग का मूल्य क्या है? यह संभवतः उस अजीब 'फीफ' है ... –