我有一个要序列化为 XML 的对象,我正在使用以下代码来执行此操作:
public static string Serialize(object obj)
{
using (var memoryStream = new MemoryStream())
using (var reader = new StreamReader(memoryStream))
{
var serializer = new DataContractSerializer(obj.GetType());
serializer.WriteObject(memoryStream, obj);
memoryStream.Position = 0;
return reader.ReadToEnd();
}
}
当我这样做时,我得到以下 XML:
<TestRequestPOCO xmlns=\"http://schemas.datacontract.org/2004/07/GPTR.Model.POCOs\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">
<AdditionalInformation>Additional Information</AdditionalInformation>
<AddressLine1>6 MOUNT PLEASANT ROAD</AddressLine1>
<AddressLine2>LEEDS</AddressLine2>
<AddressLine3 i:nil=\"true\"/>
<AddressLine4 i:nil=\"true\"/>
<AntibioticTherapy i:nil=\"true\"/>
<ClinicalInformation>Clinical Information</ClinicalInformation>
<ClinicalInformationXml i:nil=\"true\"/>
<Clinician>Dr NM BRYAN</Clinician>
<ClinicianCode>4203845</ClinicianCode>
<ClinicianShortCode :nil=\"true\"/>
<Destination>1</Destination>
<Dob>1992-02-29T00:00:00</Dob>
<ExpectedDate>2011-10-06T10:22:57.096+01:00</ExpectedDate>
<FirstName>ALISON</FirstName>
<GenerateOrder>true</GenerateOrder>
<HospitalNumber i:nil=\"true\"/>
<IsFasting>false</IsFasting>
<IsPrivatePatient>false</IsPrivatePatient>
<IsSensitive>false</IsSensitive>
<IsUrgent>false</IsUrgent>
<Items>
<RequestDataItem>
<AdditionalInfo i:nil=\"true\"/>
<Container i:nil=\"true\"/>
<Description>Ferritin [Serum]</Description>
<LIMSDeptName>CHM</LIMSDeptName>
<ProfileNumber>1293</ProfileNumber>
<QualifierCode i:nil=\"true\"/>
<SiteCode i:nil=\"true\"/>
<SpecimenType>Serum</SpecimenType>
<UniqueTest>False</UniqueTest>
</RequestDataItem>
</Items>
<Location>0</Location>
<LocationName>The INPS Practice</LocationName>
<LocationShortCode>W97046</LocationShortCode>
<LocationTelephone>01792602898</LocationTelephone>
<MiddleName i:nil=\"true\"/>
<NhsNumber>5240022631</NhsNumber>
<OrgCode>RRS</OrgCode>
<Placer>Dr Sarah Saturn</Placer>
<PostCode>CF31 5EP</PostCode>
<Sex>Male</Sex>
<Source>GPTR</Source>
<SurName>WILLIAMS</SurName>
<TelephoneNumber>01792776776</TelephoneNumber>
</TestRequestPOCO>"
正如你所看到的,它不能很好地处理空标签,而且我想去掉根标签中的文本,所以我最终得到了这样的结果:
<TestRequestPOCO>
<AdditionalInformation>Additional Information</AdditionalInformation>
<AddressLine1>6 MOUNT PLEASANT ROAD</AddressLine1>
<AddressLine2>LEEDS</AddressLine2>
<AddressLine3/>
<AddressLine4/>
<AntibioticTherapy>
<ClinicalInformation>Clinical Information</ClinicalInformation>
<ClinicalInformationXml/>
<Clinician>Dr NM BRYAN</Clinician>
<ClinicianCode>4203845</ClinicianCode>
<ClinicianShortCode/>
<Destination>1</Destination>
<Dob>1992-02-29T00:00:00</Dob>
<ExpectedDate>2011-10-06T10:22:57.096+01:00</ExpectedDate>
<FirstName>ALISON</FirstName>
<GenerateOrder>true</GenerateOrder>
<HospitalNumber/>
<IsFasting>false</IsFasting>
<IsPrivatePatient>false</IsPrivatePatient>
<IsSensitive>false</IsSensitive>
<IsUrgent>false</IsUrgent>
<Items>
<RequestDataItem>
<AdditionalInfo/>
<Container/>
<Description>Ferritin [Serum]</Description>
<LIMSDeptName>CHM</LIMSDeptName>
<ProfileNumber>1293</ProfileNumber>
<QualifierCode/>
<SiteCode/>
<SpecimenType>Serum</SpecimenType>
<UniqueTest>False</UniqueTest>
</RequestDataItem>
</Items>
<Location>0</Location>
<LocationName>The INPS Practice</LocationName>
<LocationShortCode>W97046</LocationShortCode>
<LocationTelephone>01792602898</LocationTelephone>
<MiddleName />
<NhsNumber>5240022631</NhsNumber>
<OrgCode>RRS</OrgCode>
<Placer>Dr Sarah Saturn</Placer>
<PostCode>CF31 5EP</PostCode>
<Sex>Male</Sex>
<Source>GPTR</Source>
<SurName>WILLIAMS</SurName>
<TelephoneNumber>01792776776</TelephoneNumber>
</TestRequestPOCO>"
有谁知道我怎样才能把这些去掉并拿出一个像上面那样的 XML 字符串。
提前致谢。