XmlSerializer:删除xmlns:xsd但保留xmlns:xsi
我正在使用此方法生成XML:
using (MemoryStream msRes = new MemoryStream()) using (StreamWriter objStreamWriter = new StreamWriter(msRes)) using (XmlWriter xw = XmlWriter.Create(objStreamWriter, new XmlWriterSettings() { Indent = true, IndentChars = String.Empty })) { XmlSerializer serializer = new XmlSerializer(doc.GetType()); serializer.Serialize(xw, doc); return msRes.ToArray(); }
结果是我有这样的行 。 我想删除属性
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
但保留xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"
。
我怎样才能做到这一点 ?
谢谢你的帮助 !
您可以尝试以下代码来删除xmlns条目:
var ns = new XmlSerializerNamespaces(); ns.Add("", "");