मैं किसी भी तरह से किसी भी काम कर जवाब यहाँ नहीं मिल रहा है, इसलिए यहाँ एक वास्तविक समाधान है जो होगा उत्पादन शीर्षक में वांछित एन्कोडिंग है:
private void CreateXml()
{
XmlTextWriter xmlwriter = new XmlTextWriter("c:\\test.xml", Encoding.GetEncoding("iso-8859-1"));
XDocument xdoc = new XDocument(
new XElement("Test")
);
xdoc.Save(xmlwriter);
xmlwriter.Close();
}
कारण है कि आप UTF हो रही है -16 यह है कि तारों को स्मृति में यूटीएफ -16 के साथ एन्कोड किया गया है, और जब तक आप एक्सएमएल के आउटपुट के लिए एन्कोडिंग निर्दिष्ट नहीं करते हैं, तो यह उपयोग किए जाने वाले वास्तविक एन्कोडिंग से मेल खाने के लिए एक्सएमएल हेडर में एन्कोडिंग को ओवरराइड करेगा। XmlTextWriter
का उपयोग करना एक अलग एन्कोडिंग निर्दिष्ट करने का एक तरीका है।
आप XmlTextWriter
को MemoryStream
पर भी लिख सकते हैं और फिर इसे स्मृति में पूरे ऑपरेशन को करने की आवश्यकता होने पर इसे string
पर बदल दें।
क्या इसका मतलब है कि XDocument का उपयोग करके अमान्य एन्कोडिंग निर्दिष्ट करने का कोई तरीका नहीं है? मैं एक तीसरे पक्ष को एक्सएमएल जमा कर रहा हूं जिसके लिए गलत घोषणा Xml संस्करण = "1.0" एन्कोडिंग = "आईएसओ -885 9 -1"?> की आवश्यकता है। –
मुझे यकीन है कि आप कर सकते हैं। उचित उपयोग, भाषा और कल्पना के अनुरूप क्या प्रणाली है? – yfeldblum