2010-08-30 9 views
16

XMLWriter और XMLDictionaryWriter के बीच क्या अंतर है? आम तौर पर किस मामले में इस्तेमाल किया जाता है?XMLWriter बनाम XMLDictionaryWriter

+3

मैं MSDN पर XMLDictionaryWriter के विवरण की तरह के लिए पैदा करेगा:। * एक सार वर्ग से व्युत्पन्न क्रमबद्धता और अक्रमांकन करने के लिए * –

उत्तर

18

XmlWriter एक सार वर्ग है जिसमें से XmlDictionaryWriter उन वर्गों में से एक है जो इसे प्राप्त करते हैं और यह स्वयं एक सार वर्ग है।

मैं अंधेरे में एक स्टैब ले रहा हूं जिसे आप DataContractSerializer या सामान्य रूप से डी/क्रमबद्धता के साथ उपयोग करना चाहते हैं। XmlDictionaryWriter डब्ल्यूसीएफ द्वारा अपने डी/क्रमबद्ध करने के लिए उपयोग की जाने वाली बेस क्लास है।

इससे मैं यह समझूंगा कि XmlDictionaryWriter में कुछ प्रदर्शन ट्यूनिंग होना चाहिए ताकि इसे डब्ल्यूसीएफ डी/सीरियलाइजेशन कार्यों के साथ अधिक प्रदर्शन करने के लिए किया जा सके। वास्तव में यदि आप के बजाय WriteObject(XmlWriter, object) या WriteObject(XmlDictionaryWriter, object) तरीकों में से WriteObject(Stream, object) फोन यह एक XmlDictionaryWriter आप

public virtual void WriteObject(Stream stream, object graph) 
{ 
    CheckNull(stream, "stream"); 
    XmlDictionaryWriter writer = XmlDictionaryWriter.CreateTextWriter(stream, Encoding.UTF8, false); 
    this.WriteObject(writer, graph); 
    writer.Flush(); 
} 
7

XmlWriter एक अमूर्त वर्ग है जो XML दस्तावेज़ों को केवल अग्रेषित तरीके से लिखने के लिए उपयोग किया जाता है। उपयोग के लिए कक्षा के ठोस कार्यान्वयन के लिए आप स्थिर Create विधि का उपयोग करते हैं। XML दस्तावेज़ बनाने की यह विधि तब उपयोगी होती है जब आपको किसी भी उपयोग के लिए मनमाने ढंग से एक्सएमएल बनाने की आवश्यकता होती है।

XmlDictionaryWriter एक्सएमएल से ऑब्जेक्ट्स के क्रमिकरण और deserialization के लिए उपयोग किया जाने वाला एक सार वर्ग है। जो मैं समझता हूं, उससे तार में जाने के लिए वस्तुओं को क्रमबद्ध करने के लिए डब्ल्यूसीएफ में इसका उपयोग किया जाता है। XmlDictionaryWriter बाइनरी, टेक्स्ट या एमटीओएम प्रारूपों का उपयोग करके क्रमबद्ध कर सकते हैं। मुझे उम्मीद है कि आप केवल इस कक्षा का उपयोग करेंगे यदि आपको विशेष रूप से डब्ल्यूसीएफ पर उपयोग के लिए कस्टम (डी) क्रमबद्धता की आवश्यकता होती है। here भी देखें।

उम्मीद है कि मदद करता है।

+1

क्रमबद्धता (विशेष रूप से, एमटीओएम) के बारे में जानकारी वास्तव में सहायक है। धन्यवाद! – Nate

संबंधित मुद्दे