2013-04-28 24 views
0

我使用xsd.exe将CDA xsd序列化为csharp类,并试图构建CCD文档。该文档必须通过验证过程(http://xreg2.nist.gov/cda-validation/validation.html),并且因为一个元素没有正确序列化而失败。xsi:type =将不会正确序列化

任何帮助将非常感谢如何使其工作!谢谢!

我需要它包含xsi:type =“PIVL_TS”,但由于某些原因它不包含。

<effectiveTime xsi:type="PIVL_TS"> 
    <period value="6" unit="h"/> 
</effectiveTime> 

我得到的生成类似于下面

[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")] 
    [System.SerializableAttribute()] 
    [System.Diagnostics.DebuggerStepThroughAttribute()] 
    [System.ComponentModel.DesignerCategoryAttribute("code")] 
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:hl7-org:v3")] 
    public partial class PIVL_TS : SXCM_TS { 

     private IVL_TS phaseField; 

     private PQ periodField; 

     private string alignmentField; 

     private bool institutionSpecified1Field; 

     public PIVL_TS() { 
      this.institutionSpecified1Field = false; 
     } 

     /// <remarks/> 
     public IVL_TS phase { 
      get { 
       return this.phaseField; 
      } 
      set { 
       this.phaseField = value; 
      } 
     } 

     /// <remarks/> 
     public PQ period { 
      get { 
       return this.periodField; 
      } 
      set { 
       this.periodField = value; 
      } 
     } 

     /// <remarks/> 
     [System.Xml.Serialization.XmlAttributeAttribute()] 
     public string alignment { 
      get { 
       return this.alignmentField; 
      } 
      set { 
       this.alignmentField = value; 
      } 
     } 

     /// <remarks/> 
     [System.Xml.Serialization.XmlAttributeAttribute("institutionSpecified")] 
     [System.ComponentModel.DefaultValueAttribute(false)] 
     public bool institutionSpecified1 { 
      get { 
       return this.institutionSpecified1Field; 
      } 
      set { 
       this.institutionSpecified1Field = value; 
      } 
     } 
    } 

回答

1

我发现,如果我改变了父类类型ANY []它想补充一点,而不是

<effectiveTime> 
    <period value="6" unit="h"/> 
</effectiveTime> 

的CSHARP类我需要的。请参阅下面的注释代码。

public partial class POCD_MT000040SubstanceAdministration { 

     private CS[] realmCodeField; 

     private POCD_MT000040InfrastructureRoottypeId typeIdField; 

     private II[] templateIdField; 

     private II[] idField; 

     private CD codeField; 

     private ED textField; 

     private CS statusCodeField; 

     //private PIVL_TS[] effectiveTimeField; 
     private ANY[] effectiveTimeField; 
相关问题