2009-02-26 14 views
19

मैं एक स्ट्रिंग है और इसके मूल्य है:मैं एक फ़ाइल में एक एक्सएमएल स्ट्रिंग कैसे लिखूं?

<ROOT> 
    qwerty 
    <SampleElement>adsf</SampleElement> 
    <SampleElement2>The text of the sample element2</SampleElement2> 
</ROOT> 

मैं सी # 3.0 का उपयोग कर एक फाइल करने के लिए इस स्ट्रिंग कैसे लिख सकता है?

अग्रिम धन्यवाद।

+1

शीर्षक बहुत भ्रामक है। इसे वास्तव में फ़ाइल I/O के बारे में कुछ कहना चाहिए C# – Akrikos

+0

एंड्रयू क्यों रोलबैक? –

+0

मुझे लगता है कि हमें "हाय सब" सामान सहित जितना संभव हो सके मूल पोस्ट का सम्मान करने की कोशिश करनी चाहिए, जैसा कि ओपी ने लिखा था। कुछ भी व्यक्तिगत नहीं :) –

उत्तर

0

आपको CDATA section का उपयोग करना होगा। अधिक विशेष रूप से, का उपयोग करके XmlCDataSection बनाएं और अपनी स्ट्रिंग को पैरामीटर के रूप में आपूर्ति करें।

45

इस प्रयास करें:

string s = "<xml><foo></foo></xml>"; 
XmlDocument xdoc = new XmlDocument(); 
xdoc.LoadXml(s); 
xdoc.Save("myfilename.xml"); 

अतिरिक्त लाभ यह है कि अगर आपके XML अमान्य है लोड असफल हो जायेगी है।

+2

+1 आपको एन्कोडिंग इत्यादि के बारे में चिंता करने से भी मुक्त करता है – bernhof

17
File.WriteAllText("myFile.xml",myString); 
+0

+1 एक सुविधाजनक आईओ कॉल प्राप्त करने के लिए फ़ाइल को XDocument में कनवर्ट करने के लिए ओवरहेड को सहेजने के लिए। क्रमबद्धता या गैर-नामित एक्सएमएल के लिए यह दृष्टिकोण अधिक कुशल है। – Jason

-3

मुझे पता है कि आपने सी # कहा है लेकिन आपने एक्सएमएल लिटल के लिए वीबीएनईटी की कोशिश की है। अद्भुत सामान।

Public Class Program 
    Public Shared Sub Main() 
     Dim myKeyBoardStyle = "dvorak" 

     Dim myXML As XElement = <ROOT> 
           qwerty 
           <altKeyboard><%= myKeyBoardStyle.ToUpper() %></altKeyboard> 
            <SampleElement>adsf</SampleElement> 
            <SampleElement2>The text of the sample element2</SampleElement2> 
           </ROOT> 

     Console.WriteLine(myXML.ToString()) 

     myXML.Save(".\fileFromXElement.xml") 
    End Sub 
End Class 

सूचना स्वच्छ तत्व है जो उत्पादन में में कोड का परिणाम injects:

<?xml version="1.0" encoding="utf-8"?> 
<ROOT> 
           qwerty 
           <altKeyboard>DVORAK</altKeyboard><SampleElement>adsf</SampleElement><SampleElement2>The text of the sample element2</SampleElement2></ROOT> 

स्निप [हटाया राय]

+5

यह नौकरी के लिए सही उपकरण का मामला नहीं है। आपकी पोस्ट केवल एक उपकरण को जानने और इसमें सबकुछ मजबूर करने की सीमाओं का एक उदाहरण है। यदि ओपी अन्य सभी चीज़ों के लिए सी # का उपयोग कर रहा है, तो एक्सएमएल स्ट्रिंग को बचाने के लिए बस VB.NET का परिचय हास्यास्पद है। –

+0

कोई भी उदाहरण नहीं है कि एक ही समाधान में एक से अधिक भाषा की परियोजनाओं का उपयोग करके खुले दिमाग क्या कर सकता है। एक्सबी के लिए वीबी भाषा वाक्यविन्यास का उपयोग करना बहुत आसान है। मैं वीबी और सी # दोनों का उपयोग करता हूं। यह स्पष्ट नहीं है कि प्रगाधेश द्वारा सी # में "बाकी सब कुछ" किया जाता है। शायद वह विकल्पों की पड़ताल करता है। –

+8

मैं अभी भी एक एक्सएमएल स्ट्रिंग को बचाने के सरल उद्देश्य के लिए एक और भाषा शुरू करना हास्यास्पद है। असल में अपने दिमाग को खोलें और जो भी आप प्रस्तावित कर रहे हैं उसके बारे में सोचें: "जी, मैं एक बुलडोजर लाऊंगा, भले ही मुझे जरूरी है कि यह कप बगीचे में रेत से भरा हुआ हो।" –

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