Czy istnieje sposób na uczynienie danych wyjściowych czystszym XML DataContractSerializer?

Za pomocą DataContractSerializer do serializacji mojego obiektu otrzymuję wynik podobny do

 <?xml version="1.0" encoding="utf-8" ?> 
 <AgentNotification xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/The.name.space.Notifications">
  <_x003C_Created_x003E_k__BackingField i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/The.name.space" /> 
  <_x003C_Id_x003E_k__BackingField i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/The.name.space" />        
 <_x003C_Email_x003E_k__BackingField>[email protected]</_x003C_Email_x003E_k__BackingField> 
  <_x003C_Name_x003E_k__BackingField>Random Person</_x003C_Name_x003E_k__BackingField> 
 <_x003C_Policies_x003E_k__BackingField>
 <PolicyNotification>
  <_x003C_Created_x003E_k__BackingField i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/The.name.space" /> 
  <_x003C_Id_x003E_k__BackingField i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/The.name.space" /> 
  <_x003C_ConfirmationNumber_x003E_k__BackingField>Some number</_x003C_ConfirmationNumber_x003E_k__BackingField>   
  </PolicyNotification>
 <PolicyNotification>
  </_x003C_Policies_x003E_k__BackingField>  
  </AgentNotification>

Czy jest jakiś sposób na wyprowadzenie tagów, które są po prostu

<Id>
<Name>

itd., bez potrzeby objaśniania moich klas atrybutami?

Jeśli nie ma sposobu, aby zagwarantować, że dane wyjściowe będą takie same za każdym razem, gdy będą poprawne? Więc jeśli użyję tego do renderowania moich wykresów obiektów, to XML do zszycia z dokumentem X * do generowania plików, że nigdy nie wpadnę na problem, w którym moje węzły zmieniają nazwy, a dokument wychodzi pusty?

questionAnswers(4)

yourAnswerToTheQuestion