2009-04-20 12 views
14

मैं लिंक-टू-एक्सएमएल के साथ csproj फ़ाइलों को संपादित कर रहा हूं और <?XML?> शीर्षलेख के बिना XML को सहेजने की आवश्यकता है।XDocument.Save() शीर्षलेख के बिना

जैसा कि XDocument.Save() में आवश्यक विकल्प गुम है, ऐसा करने का सबसे अच्छा तरीका क्या है?

उत्तर

22

आप XmlWriterSettings साथ ऐसा कर सकते हैं, और एक XmlWriter को दस्तावेज़ को सहेजने:

XDocument doc = new XDocument(new XElement("foo", 
    new XAttribute("hello","world"))); 

XmlWriterSettings settings = new XmlWriterSettings(); 
settings.OmitXmlDeclaration = true; 
StringWriter sw = new StringWriter(); 
using (XmlWriter xw = XmlWriter.Create(sw, settings)) 
// or to write to a file... 
//using (XmlWriter xw = XmlWriter.Create(filePath, settings)) 
{ 
    doc.Save(xw); 
} 
string s = sw.ToString(); 
+0

मैं वास्तव में से पहले इस googled जाना चाहिए था। मुझे याद है कि ऐसा करने के लिए हैकिंग को बदलने के लिए कुछ डरावना स्ट्रिंग हैक को बदलना। अच्छा खोजें :) –

+0

@ जोहान्स - हाँ! ओह ... तय, धन्यवाद। –

+0

पूरी तरह से काम करता है, धन्यवाद! – laktak

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