Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在XML序列化C中添加XML属性#_C#_Xml_Serialization - Fatal编程技术网

C# 如何在XML序列化C中添加XML属性#

C# 如何在XML序列化C中添加XML属性#,c#,xml,serialization,C#,Xml,Serialization,您好,我在XML属性的XML序列化中遇到了一些问题,下面是从XSD生成的类文件的一些细节 /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.D

您好,我在XML属性的XML序列化中遇到了一些问题,下面是从XSD生成的类文件的一些细节

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://tempuri.org/UpdatePolicy.xsd")]
public partial class policyClasses {

    private policyClassesClass[] classField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("class")]
    public policyClassesClass[] @class {
        get {
            return this.classField;
        }
        set {
            this.classField = value;
        }
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://tempuri.org/UpdatePolicy.xsd")]
public partial class policyClassesClass {

    private string company_idField;

    private string deductable_rateField;

    private string max_limitField;

    private string class_nameField;

    private string class_numberField;

    private policyClassesClassCchi_class_number cchi_class_numberField;

    private policyClassesClassAction_type action_typeField;

    private bool action_typeFieldSpecified;

    /// <remarks/>
    public string company_id {
        get {
            return this.company_idField;
        }
        set {
            this.company_idField = value;
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
    public string deductable_rate {
        get {
            return this.deductable_rateField;
        }
        set {
            this.deductable_rateField = value;
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
    public string max_limit {
        get {
            return this.max_limitField;
        }
        set {
            this.max_limitField = value;
        }
    }

    /// <remarks/>
    public string class_name {
        get {
            return this.class_nameField;
        }
        set {
            this.class_nameField = value;
        }
    }

    /// <remarks/>
    public string class_number {
        get {
            return this.class_numberField;
        }
        set {
            this.class_numberField = value;
        }
    }

    /// <remarks/>
    public policyClassesClassCchi_class_number cchi_class_number {
        get {
            return this.cchi_class_numberField;
        }
        set {
            this.cchi_class_numberField = value;
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public policyClassesClassAction_type action_type {
        get {
            return this.action_typeField;
        }
        set {
            this.action_typeField = value;
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlIgnoreAttribute()]
    public bool action_typeSpecified {
        get {
            return this.action_typeFieldSpecified;
        }
        set {
            this.action_typeFieldSpecified = value;
        }
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://tempuri.org/UpdatePolicy.xsd")]
public enum policyClassesClassCchi_class_number {

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("1")]
    Item1,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("2")]
    Item2,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("3")]
    Item3,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("4")]
    Item4,
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://tempuri.org/UpdatePolicy.xsd")]
public enum policyClassesClassAction_type {

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("10")]
    Item10,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("1")]
    Item1,
//
[System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”,“4.0.30319.17929”)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,命名空间=”http://tempuri.org/UpdatePolicy.xsd")]
公共部分类策略类{
私有策略类类[]类字段;
/// 
[System.Xml.Serialization.XmlElementAttribute(“类”)]
公共政策类类[]@class{
得到{
返回此.classField;
}
设置{
this.classField=值;
}
}
}
/// 
[System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”,“4.0.30319.17929”)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,命名空间=”http://tempuri.org/UpdatePolicy.xsd")]
公共部分类policyclasseClass{
私人字符串公司(idField),;
私有字符串可推断率字段;
私有字符串max_limitField;
私有字符串类_nameField;
私有字符串类_numberField;
私人保单类别类别类别编号类别编号字段;
private policyClassesClassAction_type action_typeField;
指定的私人布尔行动;
/// 
公共字符串公司\u id{
得到{
返回此.company_idField;
}
设置{
this.company_idField=价值;
}
}
/// 
[System.Xml.Serialization.xmlementAttribute(DataType=“positiveInteger”)]
公共字符串可扣除率{
得到{
返回此.可扣除的费率字段;
}
设置{
this.debutable_rate字段=值;
}
}
/// 
[System.Xml.Serialization.xmlementAttribute(DataType=“positiveInteger”)]
公共字符串最大值限制{
得到{
返回此.max_limitField;
}
设置{
this.max_limitField=值;
}
}
/// 
公共字符串类名称{
得到{
返回此.class_名称字段;
}
设置{
this.class_nameField=值;
}
}
/// 
公共字符串类_编号{
得到{
返回此.class\u numberField;
}
设置{
this.class_numberField=值;
}
}
/// 
公共政策类别类别类别编号类别编号{
得到{
返回此.cchi\u class\u编号字段;
}
设置{
this.cchi\u class\u numberField=值;
}
}
/// 
[System.Xml.Serialization.XmlAttributeAttribute()]
公共政策类ClassAction类型action类型{
得到{
返回此.action_类型字段;
}
设置{
this.action_typeField=值;
}
}
/// 
[System.Xml.Serialization.XmlIgnoreAttribute()]
指定的公共布尔操作类型{
得到{
返回指定的操作类型字段;
}
设置{
this.action_typeFieldSpecified=值;
}
}
}
/// 
[System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”,“4.0.30319.17929”)]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,命名空间=”http://tempuri.org/UpdatePolicy.xsd")]
公共枚举策略类别类别类别编号{
/// 
[System.Xml.Serialization.XmlEnumAttribute(“1”)]
项目1,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“2”)]
项目2,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“3”)]
项目3,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“4”)]
项目4,
}
/// 
[System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”,“4.0.30319.17929”)]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,命名空间=”http://tempuri.org/UpdatePolicy.xsd")]
公共枚举策略类ClassAction_类型{
/// 
[System.Xml.Serialization.XmlEnumAttribute(“10”)]
项目10,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“1”)]
项目1,
我设法通过序列化基于这个类生成XML,但没有任何想法将XML属性添加到生成的XML中,我想得到如下输出

 <classes>
<class action_type="10">
  <company_id>999</company_id>
  <deductable_rate>20</deductable_rate>
  <max_limit>800</max_limit>
  <class_name>Class A</class_name>
  <class_number>1</class_number>
  <cchi_class_number>2</cchi_class_number>
</class>

999
20
800
甲级
1.
2.

如何将属性添加到元素
//
[System.Xml.Serialization.XmlAttributeAttribute()]
公共政策类ClassAction类型action类型{
得到{
返回此.action_类型字段;
}
设置{
this.action_typeField=值;
}
}

请有人在这方面帮助我管理我的截止日期,也告诉我,如果有什么不清楚的有价值的答复
Joe

注意,生成的类被标记为
partial
。 在项目中生成的类旁边添加另一个类,并给它一个类似的名称,例如GeneratedClasses.addon.cs。将其添加到新文件中:

public partial class policyClasses {
  [System.Xml.Serialization.XmlAttribute]
  public policyClassesClassAction_type action_type { get;set;}
}

如果你没有得到'action_type'属性值,那么它可能是nullThanx Sten让我按照你的建议尝试一下。Sten谢谢你的帮助,实际上我找到了它为什么没有显示为属性的原因。public bool action_typeSpecified{get{return this.action_typeFieldSpecified;}set{this.action_typeFieldSpecified=value;}在使用action_type之前,我需要指定action_typeSpecified为true或false。