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下游,則您的設計出現問題。 –