utf-8大写?

这更像是一个我想做的化妆品变化,我想知道如何使用UTF-8大写而不是utf-8小写生成生成的xml文件?

XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = Encoding.UTF8; settings.Indent = true; settings.IndentChars = "\t"; XmlWriter writeXML = XmlWriter.Create("test_file.xml", settings); writeXML.WriteStartDocument(false); writeXML.WriteComment(fileLicense); writeXML.WriteStartElement("templates"); writeXML.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance"); writeXML.WriteAttributeString("xsi", "noNamespaceSchemaLocation", null, "test_file.xsd"); writeXML.WriteEndElement(); writeXML.WriteEndDocument(); writeXML.Close(); 

我找到了这篇博文 。 似乎这就是你想要的。

 public class UpperCaseUTF8Encoding : UTF8Encoding { // Code from a blog http://www.distribucon.com/blog/CategoryView,category,XML.aspx // // Dan Miser - Thoughts from Dan Miser // Tuesday, January 29, 2008 // He used the Reflector to understand the heirarchy of the encoding class // // Back to Reflector, and I notice that the Encoding.WebName is the property used to // write out the encoding string. I now create a descendant class of UTF8Encoding. // The class is listed below. Now I just call XmlTextWriter, passing in // UpperCaseUTF8Encoding.UpperCaseUTF8 for the Encoding type, and everything works // perfectly. - Dan Miser public override string WebName { get { return base.WebName.ToUpper(); } } public static UpperCaseUTF8Encoding UpperCaseUTF8 { get { if (upperCaseUtf8Encoding == null) { upperCaseUtf8Encoding = new UpperCaseUTF8Encoding(); } return upperCaseUtf8Encoding; } } private static UpperCaseUTF8Encoding upperCaseUtf8Encoding = null; } 

要使用此自定义编码,您需要使用XMLTextWriter作为XDocument Save方法的目标。

 // This section not shown in the blog var xDoc = XDocument.Load(xmlDocNm); //This is your xml path value // Changes to XML Document here // .Net writes the XML declaration using lower case utf-8. //  // It is not suppesed to matter but NiceForm expects the delcaration to be uppercase. //  // We are using a XMLWriter with a custom Encoding to captialize the UTF // Set various options to retrive the desired output var settings = new XmlWriterSettings { Encoding = new UpperCaseUTF8Encoding(), // Key setting option for this example NewLineHandling = System.Xml.NewLineHandling.Replace, NewLineOnAttributes = true, Indent = true // Generate new lines for each element }; using (var xmlWriter =XmlTextWriter.Create(xmlDocNm, settings)) { xDoc.Save(xmlWriter); }