從.NET 中的序列化XML 中刪除所有命名空間
在將物件序列化為XML 的過程中,經常會遇到這樣的命名空間作為附加到序列化文件的“xsi”和“xsd”。這些命名空間可能會造成混亂和複雜性。
提供的程式碼片段嘗試透過設定 OmitXmlDeclaration 標誌來省略 XML 命名空間。但是,產生的 XML 仍然包含 xsi 和 xsd 命名空間。要完全刪除這些命名空間,需要執行額外的步驟。
解決方案在於定義一個空的XmlSerializerNamespaces 物件並將其傳遞給Serialize 方法:
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace for each prefix s.Serialize(xmlWriter, objectToSerialize, ns);
此程式碼將一個空的命名空間新增至XML 文檔,有效地刪除任何前綴或命名空間聲明。結果,序列化文件將包含乾淨的
<message> ... </message>
以上是如何從 .NET 中的序列化 XML 中刪除所有命名空間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!