Я использую DataContractSerializer
для сериализации объекта. Вот мой код:Удаление пространств имен с помощью DataContractSerializer
private string XmlSerial<T>(T instance)
{
DataContractSerializer Serializer = new DataContractSerializer(typeof(T));
using (MemoryStream memoryStream = new MemoryStream())
{
Serializer.WriteObject(memoryStream, instance);
return Encoding.Default.GetString(memoryStream.ToArray());
}
}
Вот мой результат:
<WS_IN_GetAccountCredit xmlns="http://schemas.datacontract.org/2004/07/WcfWebService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<GetAccountCreditParams xmlns:a="http://schemas.datacontract.org/2004/07/RestConsumer">
<a:Password>String content</a:Password>
<a:UserName>String content</a:UserName>
</GetAccountCreditParams>
<WSIdentity xmlns:a="http://schemas.datacontract.org/2004/07/RestConsumer">
<a:WS_PassWord>String content</a:WS_PassWord>
<a:WS_UserName>String content</a:WS_UserName>
</WSIdentity>
</WS_IN_GetAccountCredit>
теперь мне нужно удалить Xmlns: я и XMLNS: а, а также установить Indent = true;
, как я могу это сделать?
ты там опять с новой проблемой. Является ли это той же структурой классов, что и предыдущая? –
да есть. Зачем? – David