0x0xपर एक xml फ़ाइल में लाइन संख्या कैसे प्राप्त करें मैं लगभग 300 जीबी की एक XML फ़ाइल में linenumber प्राप्त करने में असमर्थ हूं। IXmlLineInfo.LineNumber एक int32 है और जब यह int.MaxValue से अधिक है तो ऋणात्मक संख्या लौटा दी जाती है। अगर मैं एक int या linenumber स्टोर करने के लिए लंबे समय तक उपयोग करने के लिए लंबे समय तक उपयोग करते हैं तो इससे कोई फर्क नहीं पड़ता। Xmlreader eof पढ़ने के लिए सक्षम है। .NET 2.0 और नवीनतम संस्करण का उपयोग करना भी int32 का उपयोग करता है।int.Maxvalue
public void ReadLines()
{
long readcounter = 0;
long linenumber = 0;
fname = "I:\\XML Files\\europe-latest.osm";
XmlReaderSettings settings = new XmlReaderSettings();
settings.ProhibitDtd = false;
settings.XmlResolver = null;
XmlReader reader = XmlReader.Create(fname, settings);
IXmlLineInfo lineInfo = ((IXmlLineInfo)reader);
try
{
while (reader.Read())
{
linenumber = lineInfo.LineNumber;
readcounter++;
if (readcounter % 1000000 == 0) Console.WriteLine(linenumber.ToString());
}
}
catch (XmlException ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
finally
{
reader.Close();
Console.WriteLine(DateTime.Now.ToLongTimeString());
}
}
भगवान की मां, एक 300 जीबी एक्सएमएल फ़ाइल? क्या आपको यकीन है? – tnw
शायद आपको लाइन नंबर प्राप्त करने के बारे में चिंता करना बंद कर देना चाहिए, और एक्सएमएल फ़ाइल को इतनी बड़ी अनुमति देने की अनुमति देने पर ध्यान देना चाहिए। – mason
@ केविनकूक हेस कह रहा है lineInfo.LineNumber एक int32 है। – Jono