添加<?xml version =" 1.0"编码= QUOT; UTF-8英寸独立= QUOT;是"?>到我的xml响应 [英] Add <?xml version="1.0" encoding="UTF-8" standalone="yes"?> to my xml response
问题描述
我一直在与这个老问题作斗争,无法做到正确。我希望我的xml输出有
<?xml version =" 1.0"编码= QUOT; UTF-8英寸独立= QUOT;是"?>在标题中。我一直在<?xml version =" 1.0"?>只要。我通过将以下代码添加到WebApiConfig.cs来剥离格式化程序
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; config.Formatters.Clear();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; config.Formatters.Add(new IgnoreNamespacesXmlMediaTypeFormatter());
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; config.Formatters.XmlFormatter.UseXmlSerializer = true;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; config.Formatters.XmlFormatter.WriterSettings.OmitXmlDeclaration = false;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; config.Formatters.XmlFormatter.WriterSettings.Encoding = System.Text.Encoding.UTF8;
我在XMLHelper中插入.WriteStartDocument(true) -
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;&NBSP;
&NBSP; &NBSP; &NBSP; public static string Serialize(object objectInstance)
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; string txt ="" ;;
$
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; var emptyNamepsaces = new XmlSerializerNamespaces(new [] {XmlQualifiedName.Empty});
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; var serializer = new XmlSerializer(objectInstance.GetType());
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; var settings = new XmlWriterSettings();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; settings.OmitXmlDeclaration = false;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; //settings.Encoding = new UTF8Encoding(false);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; settings.ConformanceLevel = ConformanceLevel.Document;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; var memoryStream = new MemoryStream();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;使用(var writer = XmlWriter.Create(memoryStream,settings))
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; writer.WriteStartDocument(true);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; serializer.Serialize(writer,objectInstance,emptyNamepsaces);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; txt = Encoding.UTF8.GetString(memoryStream.ToArray());
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; return txt;
&NBSP; &NBSP; &NBSP; } b $ b
请帮忙!
XmlDocument xml = new XmlDocument();
XmlNode docNode = xml.CreateXmlDeclaration(" 1.0"," UTF-8 \" standalone = \" yes","");
xml.AppendChild(docNode);
Console.WriteLine(" Header:" + xml.OuterXml);
试一试。 (P lease d 如果它是您想要的答案,请不要忘记作为答案。)
$
$
I've been battling with this old problem and can't get it right. I want my xml output to have
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> in the header. I keep having <?xml version="1.0"?> only. I have stripped the formatters by adding the following codes to WebApiConfig.cs
config.Formatters.Clear();
config.Formatters.Add(new IgnoreNamespacesXmlMediaTypeFormatter());
config.Formatters.XmlFormatter.UseXmlSerializer = true;
config.Formatters.XmlFormatter.WriterSettings.OmitXmlDeclaration = false;
config.Formatters.XmlFormatter.WriterSettings.Encoding = System.Text.Encoding.UTF8;
and I have inserted .WriteStartDocument(true) in my XMLHelper -
public static string Serialize(object objectInstance)
{
string txt = "";
var emptyNamepsaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
var serializer = new XmlSerializer(objectInstance.GetType());
var settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = false;
//settings.Encoding = new UTF8Encoding(false);
settings.ConformanceLevel = ConformanceLevel.Document;
var memoryStream = new MemoryStream();
using (var writer = XmlWriter.Create(memoryStream, settings))
{
writer.WriteStartDocument(true);
serializer.Serialize(writer, objectInstance, emptyNamepsaces);
txt = Encoding.UTF8.GetString(memoryStream.ToArray());
}
return txt;
}
Please help!
XmlDocument xml = new XmlDocument(); XmlNode docNode = xml.CreateXmlDeclaration("1.0", "UTF-8\" standalone=\"yes", ""); xml.AppendChild(docNode); Console.WriteLine("Header:" + xml.OuterXml);Try it. (Please don't forget make as answer if that it the answer you want.)
这篇关于添加<?xml version =" 1.0"编码= QUOT; UTF-8英寸独立= QUOT;是"?>到我的xml响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!