Использую следующий код для десериализации объекта,
using (MemoryStream memoryStream = new MemoryStream())
{
try
{
XmlWriterSettings writerSettings1 = new XmlWriterSettings();
writerSettings1.CloseOutput = false;
writerSettings1.Encoding = System.Text.Encoding.UTF8;
writerSettings1.Indent = false;
writerSettings1.OmitXmlDeclaration = true;
XmlWriter writer1 = XmlWriter.Create(memoryStream, writerSettings1);
XmlSerializer xs1 = new XmlSerializer(obj.GetType(), string.Empty);
xs1.UnknownAttribute += new XmlAttributeEventHandler(xs1_UnknownAttribute);
xs1.UnknownElement += new XmlElementEventHandler(xs1_UnknownElement);
xs1.UnknownNode += new XmlNodeEventHandler(xs1_UnknownNode);
xs1.UnreferencedObject += new UnreferencedObjectEventHandler(xs1_UnreferencedObject);
xs1.Serialize(writer1, obj);
writer1.Close();
}
catch (InvalidOperationException)
{
return null;
}
memoryStream.Position = 0;
serializeObjectDoc.Load(memoryStream);
return serializeObjectDoc.DocumentElement;
После этого, когда я проверяю возвращающийся узел, я получаю два дополнительных атрибута {Attribute, Name = "xmlns: xsi ", Value =" http://www.w3.org/2001/XMLSchema-instance"} object {System.Xml.XmlAttribute} {Атрибут, Name = "xmlns: xsd", Value = "http://www.w3.org/2001/XMLSchema"} object {System.Xml.XmlAttribute}
Iхочу знать, как отключить эти два атрибута