1
我想下面的代码序列化一个对象。问题是如果一些元素为空,那么他们有自我结束标签,如下所示:避免在XML中自我关闭标签
<City/>
我想要这样的<City> </City>
。有什么想法吗?
private string GetXMLFromObject(object o)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
MemoryStream ms = new MemoryStream();
XmlWriter writer = XmlWriter.Create(ms, settings);
XmlSerializerNamespaces names = new XmlSerializerNamespaces();
names.Add("", "");
XmlSerializer serializer = new XmlSerializer(o.GetType());
serializer.Serialize(writer, o, names);
ms.Flush();
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
string xml = sr.ReadToEnd();
return xml;
}
Like' '或' '?此外,根据XML规范,具有自闭标签的元素在语义上等同于立即关闭的元素,所以*为什么*您要这样做? –
Dai
我需要将XML传递给WCF服务,该服务不会识别这个, – user3217051
您需要说明为什么自闭标签是一个问题。如果您无法处理格式良好的XML下游,则您的设计出现问题。 –