लोग,सी # में एक फ़ाइल के लिए एक्सएमएल (बड़ा) एक्सएमएल कैसे लिखें?
कृपया, सी # .NET 3.5 में वास्तव में बड़े XML दस्तावेज़ (500 एमबी तक कहने) का एक अच्छा तरीका क्या है? मेरे पास थोड़ी सी खोज है, और ऐसा कुछ भी नहीं मिल रहा है जो इस विशिष्ट प्रश्न को संबोधित करता है।
मेरे पिछले धागा (What is the best way to parse (big) XML in C# Code?) समान परिमाण एक्सएमएल दस्तावेजों को पढ़ने के कवर ... इसके साथ ही हल मैं कैसे एक "update.xml" दस्तावेज़ के लिए अद्यतन सुविधाओं (http://www.opengeospatial.org/standards/sfa) लिखने के बारे में सोचने की जरूरत है।
मेरे विचार: जाहिर है कि दस्तावेज के अधिकतम आकार को उत्पादित करने के लिए एक बड़ा डोम बाहर है। मैं बाध्यकारी वर्गों को स्कीमा बनाने के लिए XSD.EXE का उपयोग कर रहा हूं ... जो XmlSerializer वर्ग के साथ अच्छी तरह से काम करता है, लेकिन मुझे लगता है कि यह "हुड के नीचे" एक डोम बनाता है। क्या ये सही है?। मैं एक ही समय में सभी सुविधाओं (उनमें से 50,000 तक) स्मृति में नहीं रख सकता। मुझे डेटाबेस को फीचर फॉर्म पढ़ने, इसे क्रमबद्ध करने और फ़ाइल में लिखने की आवश्यकता है। तो मैं सोच रहा हूं कि मुझे फ़ाइल में प्रत्येक व्यक्तिगत सुविधा के लिए "डॉकलेट" लिखने के लिए XmlSerializer का उपयोग करना चाहिए। मुझे कोई जानकारी नहीं मिली है (अभी तक) यदि यह भी संभव/व्यवहार्य है।
आपको क्या लगता है?
पृष्ठभूमि: मैं सी # के लिए एक पुराना वीबी 6 मैपइन्फो "क्लाइंट प्लगइन" पोर्ट कर रहा हूं। एक मौजूदा जे 2 ईई "अपडेट सेवा" (वास्तव में केवल एक वेब-ऐप) है जो इस कार्यक्रम (दूसरों के बीच) के साथ काम करना चाहिए। मैं सर्वर नहीं बदल सकता; जब तक अनुपस्थित रूप से आवश्यक नहीं है; विशेष रूप से इसमें अन्य ग्राहकों को बदलना शामिल है। सर्वर एक स्क्रिप्ट के साथ एक XML दस्तावेज़ स्वीकार करता है जो किसी भी नामस्थान को निर्दिष्ट नहीं करता है ... यानी: केवल डिफ़ॉल्ट नामस्थान है, और इसमें सबकुछ है।
मेरा अनुभव: मैं काफी सी # और .NET नौसिखिया हूं। मैं जावा, वीबी, सी, और कुछ सी ++ सहित विभिन्न भाषाओं में लगभग 10 वर्षों के लिए प्रोग्रामिंग कर रहा हूं।
चीयर्स सब। कीथ।
पीएस: यह रात्रिभोज का समय है, इसलिए मैं लगभग आधे घंटे तक AWOL रहूंगा।
मार्क, Merci। (डेविड श्मिट के जवाब पर मेरी टिप्पणी के अनुसार) मैं इसे दोनों तरीकों से आजमाउंगा और कुछ प्रदर्शन परीक्षण चलाऊंगा। मैं आपके विचारशील उत्तर के लिए श्रीमान धन्यवाद, और वह उदाहरण कोड। बहुत बढ़िया। टा। ;-) मुझे उम्मीद है कि मैं किसी दिन पक्ष का भुगतान कर सकता हूं। चीयर्स। कीथ। – corlettk