1
我有系列化倍增代表「caseList」類的XML屬性的一個問題:序列化 - 加倍XML屬性
這裏是我所得到的:
<import xmlns_xsi="http://www.w3.org/2001/XMLSchema-instance" xsi_noNamespaceSchemaLocation="TR-DGU%20Import-Schema%20V2015%20-%20Stand%20M%C3%A4rz%202016.xsd">
<creationDate>2016-05-19</creationDate>
<hospitalCode>A-0000-A</hospitalCode>
<importCasesWithErrors>1</importCasesWithErrors>
<caseList>
<case>
<patientCode>sdf</patientCode>
<internalPatientId>sdfsdfsdfsdfsdf</internalPatientId>
</case>
</caseList>
<caseList>
<case>
<patientCode>654654</patientCode>
<internalPatientId>123654654</internalPatientId>
</case>
</caseList>
我需要的是這樣的:
<import xmlns_xsi="http://www.w3.org/2001/XMLSchema-instance" xsi_noNamespaceSchemaLocation="TR-DGU%20Import-Schema%20V2015%20-%20Stand%20M%C3%A4rz%202016.xsd">
<creationDate>2016-05-19</creationDate>
<hospitalCode>A-0000-A</hospitalCode>
<importCasesWithErrors>1</importCasesWithErrors>
<caseList>
<case>
<patientCode>sdf</patientCode>
<internalPatientId>sdfsdfsdfsdfsdf</internalPatientId>
</case>
<case>
<patientCode>654654</patientCode>
<internalPatientId>123654654</internalPatientId>
</case>
</caseList>
現在,我有「導入」類,包含「caseList」。 「caseList」包含「caseItems」類,然後包含「cases」類。
繼承人的代碼:
import.cs
[XmlRoot("import")]
public class Import
{
[XmlAttribute("xmlns_xsi")]
public string XMLNS { get; set; }
[XmlAttribute("xsi_noNamespaceSchemaLocation")]
public string XMLNSLocation { get; set; }
[XmlElement("creationDate")]
public string CreationDate { get; set; }
[XmlElement("hospitalCode")]
public string HospitalCode { get; set; }
[XmlElement("importCasesWithErrors")]
public int ImportCasesWithErrors { get; set; }
[XmlElement("caseList")]
public List<CaseItem> caseList { get; set; }
//[XmlElement("masterData")]
//public MasterData MasterData { get; set; }
public Import(List<CaseItem> caseItemList)
{
caseList = caseItemList;
}
public Import()
{
}
}
CaseList.cs
[Serializable]
[XmlRoot("Import")]
public class CaseList
{
[XmlElement("caseList")]
public List<CaseItem> caseList
{
get;
set;
}
public CaseList(List<CaseItem> caseItemList)
{
caseList = caseItemList;
}
public CaseList()
{
}
}
CaseItem.cs
[Serializable]
[XmlRoot("import")]
public class CaseItem
{
//[XmlElement("masterdata")]
//public MasterData masterdata { get; set; }
[XmlElement("case")]
public Cases cases { get; set; }
public CaseItem(Cases cases)
{
this.cases = cases;
}
public CaseItem()
{
}
}
Cases.cs
public class Cases
{
[XmlElement("patientCode")]
public string PatientCode { get; set; }
[XmlElement("internalPatientId")]
public string InternalPatientId { get; set; }
public Cases()
{
}
}
最後初始化整個事情的一部分:
private static Import CreateExportDGU()
{
List<CaseItem> caseItemList = new List<CaseItem>();
Cases case1 = new Cases();
case1.InternalPatientId = "sdfsdfsdfsdfsdf";
case1.PatientCode = "sdf";
CaseItem CaseItem1 = new CaseItem(case1);
caseItemList.Add(CaseItem1);
Cases case2 = new Cases();
case2.InternalPatientId = "123654654";
case2.PatientCode = "654654";
CaseItem CaseItem2 = new CaseItem(case2);
caseItemList.Add(CaseItem2);
Import import = new Import(caseItemList);
import.XMLNS = "http://www.w3.org/2001/XMLSchema-instance";
import.XMLNSLocation = "TR-DGU%20Import-Schema%20V2015%20-%20Stand%20M%C3%A4rz%202016.xsd";
import.CreationDate = "2016-05-19";
import.HospitalCode = "A-0000-A";
import.ImportCasesWithErrors = 1;
return import;
}
進口將被序列化。
任何幫助真的很感激!
此致 桑德羅