मुझे उचित इंडेंटेशन (Formatting.Indented)
के साथ फ़ाइल करने के लिए एक XmlDocument
को सहेजने की आवश्यकता है, लेकिन उनके बच्चों के साथ कुछ नोड्स (Formatting.None)
में एक पंक्ति में होना चाहिए।एकाधिक इंडेंटेशन सेटिंग्स के साथ XmlDocument को कैसे सहेजना है?
XmlTextWriter
से पूरे दस्तावेज़ के लिए सेटिंग स्वीकार करने के बाद से इसे कैसे प्राप्त किया जाए? @Ahmad Mageed के resposne के बाद
संपादित करें:
मुझे लगता है कि XmlTextWriter सेटिंग्स पता नहीं था लेखन के दौरान संशोधित किया जा सकता। ये अच्छी खबर है।
अभी मैं XmlDocument बचत कर रहा हूँ (जो पहले से ही नोड्स से भर जाता है, यह .xaml पेज है विशिष्ट होना) इस तरह:
XmlTextWriter writer = new XmlTextWriter(filePath, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
xmlDocument.WriteTo(writer);
writer.Flush();
writer.Close();
यह खरोज सभी नोड्स में, निश्चित रूप से सक्षम बनाता है। सभी <Run>
नोड्स से निपटने के दौरान मुझे इंडेंटेशन अक्षम करने की आवश्यकता है।
आपके उदाहरण में आप XmlTextWriter "मैन्युअल रूप से" लिखते हैं। क्या सभी xmlDocument नोड्स के माध्यम से क्रॉल करने का एक आसान तरीका है और उन्हें XmlTextWriter पर लिखना है ताकि मैं <Run>
नोड्स का पता लगा सकूं? या क्या मुझे कुछ प्रकार की रिकर्सिव विधि लिखनी है जो वर्तमान नोड के हर बच्चे के पास जाएगी?
@shg: मैं आपके जवाब को देखा। LINQ से XML एक विकल्प है? या कड़ाई से .NET 2.0? बीटीडब्लू आपको अपने प्रश्न को संपादित करना चाहिए और इसे उस कोड को उत्तर के रूप में पोस्ट करने के बजाय यहां पोस्ट करना चाहिए ताकि अन्य लोगों के लिए यह देखने के लिए सबकुछ एक ही स्थान पर हो क्योंकि यह आपके प्रश्न के लिए अतिरिक्त जानकारी है। आप इसे संपादित कर सकते हैं और फिर दूसरी पोस्ट हटा सकते हैं। –
@ अहमद मैगेड: मैंने पहले कभी LINQ का उपयोग XML से नहीं किया है, लेकिन यह एक विकल्प है। संकेत के लिए धन्यवाद। मैं इसके करीब नजर रखूंगा। बीटीडब्ल्यू मैंने आपके द्वारा सुझाए गए संपादन को बनाया है। मैं स्टैक ओवरफ्लो पर प्रश्न पोस्ट करने के लिए नया हूं, इसलिए गड़बड़ी के लिए खेद है। – shg