type=不能正确序列化



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

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

我需要它包含xsi:type="PIVL_TS",但由于某种原因它没有。

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

我得到了这个

<effectiveTime>
    <period value="6" unit="h"/>
</effectiveTime>
生成的csharp类如下所示
    [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;
            }
        }
    }

我发现如果我将父类更改为ANY[]类型,它将添加我需要的内容。参见下面的注释代码。

 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;

最新更新