While the text above does say this, I found it necessary to summarize this point: If you want to remove non-required empty nodes from the serialized XML output, simply set EmitDefaultValue to false.
So, if we changed the employeeName member to have this attribute via [DataMember(EmitDefaultValue = false)], we would remove the
nil employeeName element from the XML output when the value is null:
BEFORE:
<Employee>
<employeeName xsi:nil="true" />
<employeeID>0</employeeID>
<targetSalary>57800</targetSalary>
</Employee>
AFTER:
<Employee>
<employeeID>0</employeeID>
<targetSalary>57800</targetSalary>
</Employee>