XmlSerializer:删除xmlns:xsd,但保留xmlns:xsi
本文关键字:xmlns 保留 xsi xsd 删除 XmlSerializer | 更新日期: 2023-09-27 18:12:36
我使用这个方法来生成一个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();
}
结果是我有这样的行<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
。我想删除属性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("", "");