如何在c#中使用xsd

本文关键字:xsd | 更新日期: 2023-09-27 18:21:18

我是xml的新手。我已经使用xsd.exe从xml创建了一个.xsd文件和一个.cs文件。但我现在不知道该如何访问它?我看过一些例子,但发现它们令人困惑。有没有一个简单的教程,或者有人可以给我一个例子?

    //------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.237
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System.Xml.Serialization;
// 
// This source code was auto-generated by xsd, Version=4.0.30319.1.
// 

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class file {
    private fileClass[] itemsField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("class", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClass[] Items {
        get {
            return this.itemsField;
        }
        set {
            this.itemsField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClass {
    private string search_keywordsField;
    private fileClassPart[] partField;
    private string idField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string search_keywords {
        get {
            return this.search_keywordsField;
        }
        set {
            this.search_keywordsField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("part", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClassPart[] part {
        get {
            return this.partField;
        }
        set {
            this.partField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string id {
        get {
            return this.idField;
        }
        set {
            this.idField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPart {
    private string tcpnField;
    private string last_change_dateField;
    private string primary_part_nbrField;
    private string te_part_detail_urlField;
    private string part_statusField;
    private string product_codeField;
    private string gpl_codeField;
    private string gpl_descField;
    private string lf_comp_descField;
    private string lf_process_descField;
    private string part_descField;
    private fileClassPartImage_urls[] image_urlsField;
    private fileClassPartPart_aliasesAlias[][] part_aliasesField;
    private fileClassPartAttributesAttr_cat[][] attributesField;
    private fileClassPartDocInfoList[] docInfoListField;
    private string idField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string tcpn {
        get {
            return this.tcpnField;
        }
        set {
            this.tcpnField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string last_change_date {
        get {
            return this.last_change_dateField;
        }
        set {
            this.last_change_dateField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string primary_part_nbr {
        get {
            return this.primary_part_nbrField;
        }
        set {
            this.primary_part_nbrField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string te_part_detail_url {
        get {
            return this.te_part_detail_urlField;
        }
        set {
            this.te_part_detail_urlField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string part_status {
        get {
            return this.part_statusField;
        }
        set {
            this.part_statusField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string product_code {
        get {
            return this.product_codeField;
        }
        set {
            this.product_codeField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string gpl_code {
        get {
            return this.gpl_codeField;
        }
        set {
            this.gpl_codeField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string gpl_desc {
        get {
            return this.gpl_descField;
        }
        set {
            this.gpl_descField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string lf_comp_desc {
        get {
            return this.lf_comp_descField;
        }
        set {
            this.lf_comp_descField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string lf_process_desc {
        get {
            return this.lf_process_descField;
        }
        set {
            this.lf_process_descField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string part_desc {
        get {
            return this.part_descField;
        }
        set {
            this.part_descField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("image_urls", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClassPartImage_urls[] image_urls {
        get {
            return this.image_urlsField;
        }
        set {
            this.image_urlsField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    [System.Xml.Serialization.XmlArrayItemAttribute("alias", typeof(fileClassPartPart_aliasesAlias), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClassPartPart_aliasesAlias[][] part_aliases {
        get {
            return this.part_aliasesField;
        }
        set {
            this.part_aliasesField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    [System.Xml.Serialization.XmlArrayItemAttribute("attr_cat", typeof(fileClassPartAttributesAttr_cat), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
    public fileClassPartAttributesAttr_cat[][] attributes {
        get {
            return this.attributesField;
        }
        set {
            this.attributesField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("docInfoList", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClassPartDocInfoList[] docInfoList {
        get {
            return this.docInfoListField;
        }
        set {
            this.docInfoListField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string id {
        get {
            return this.idField;
        }
        set {
            this.idField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartImage_urls {
    private string te_primary_image_urlField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string te_primary_image_url {
        get {
            return this.te_primary_image_urlField;
        }
        set {
            this.te_primary_image_urlField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartPart_aliasesAlias {
    private string valueField;
    /// <remarks/>
    [System.Xml.Serialization.XmlTextAttribute()]
    public string Value {
        get {
            return this.valueField;
        }
        set {
            this.valueField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartAttributesAttr_cat {
    private fileClassPartAttributesAttr_catAttr_type[] attr_typeField;
    private string nameField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("attr_type", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClassPartAttributesAttr_catAttr_type[] attr_type {
        get {
            return this.attr_typeField;
        }
        set {
            this.attr_typeField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string name {
        get {
            return this.nameField;
        }
        set {
            this.nameField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartAttributesAttr_catAttr_type {
    private fileClassPartAttributesAttr_catAttr_typeAttr_value[] attr_valueField;
    private fileClassPartAttributesAttr_catAttr_typeAlt_uom_attr_value[] alt_uom_attr_valueField;
    private string idField;
    private string nameField;
    private string uomField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("attr_value", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)]
    public fileClassPartAttributesAttr_catAttr_typeAttr_value[] attr_value {
        get {
            return this.attr_valueField;
        }
        set {
            this.attr_valueField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("alt_uom_attr_value", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)]
    public fileClassPartAttributesAttr_catAttr_typeAlt_uom_attr_value[] alt_uom_attr_value {
        get {
            return this.alt_uom_attr_valueField;
        }
        set {
            this.alt_uom_attr_valueField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string id {
        get {
            return this.idField;
        }
        set {
            this.idField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string name {
        get {
            return this.nameField;
        }
        set {
            this.nameField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string uom {
        get {
            return this.uomField;
        }
        set {
            this.uomField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartAttributesAttr_catAttr_typeAttr_value {
    private string valueField;
    /// <remarks/>
    [System.Xml.Serialization.XmlTextAttribute()]
    public string Value {
        get {
            return this.valueField;
        }
        set {
            this.valueField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartAttributesAttr_catAttr_typeAlt_uom_attr_value {
    private string idField;
    private string nameField;
    private string uomField;
    private string valueField;
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string id {
        get {
            return this.idField;
        }
        set {
            this.idField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string name {
        get {
            return this.nameField;
        }
        set {
            this.nameField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string uom {
        get {
            return this.uomField;
        }
        set {
            this.uomField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlTextAttribute()]
    public string Value {
        get {
            return this.valueField;
        }
        set {
            this.valueField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartDocInfoList {
    private string isDocCADFilesAvailableField;
    private fileClassPartDocInfoListDocInfo[] docInfoField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string isDocCADFilesAvailable {
        get {
            return this.isDocCADFilesAvailableField;
        }
        set {
            this.isDocCADFilesAvailableField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("docInfo", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public fileClassPartDocInfoListDocInfo[] docInfo {
        get {
            return this.docInfoField;
        }
        set {
            this.docInfoField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class fileClassPartDocInfoListDocInfo {
    private string docTypeField;
    private string docIdField;
    private string docRevisionField;
    private string docTitleField;
    private string docSubTypeField;
    private string docFileNameField;
    private string docFormatField;
    private string docSizeField;
    private string docLangField;
    private string docUrlField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docType {
        get {
            return this.docTypeField;
        }
        set {
            this.docTypeField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docId {
        get {
            return this.docIdField;
        }
        set {
            this.docIdField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docRevision {
        get {
            return this.docRevisionField;
        }
        set {
            this.docRevisionField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docTitle {
        get {
            return this.docTitleField;
        }
        set {
            this.docTitleField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docSubType {
        get {
            return this.docSubTypeField;
        }
        set {
            this.docSubTypeField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docFileName {
        get {
            return this.docFileNameField;
        }
        set {
            this.docFileNameField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docFormat {
        get {
            return this.docFormatField;
        }
        set {
            this.docFormatField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docSize {
        get {
            return this.docSizeField;
        }
        set {
            this.docSizeField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docLang {
        get {
            return this.docLangField;
        }
        set {
            this.docLangField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string docUrl {
        get {
            return this.docUrlField;
        }
        set {
            this.docUrlField = value;
        }
    }
}

如何在c#中使用xsd

如果要创建一个XML可序列化类并控制XML的格式,则可以使用xsd.exe生成要传递到XmlSerializer实例中的类型。

听起来您想要接收XML,然后将其反序列化为类实例,这样您就可以使用它们来填充网站上的各种控件。

所以你可以这样做:

// Create an instance of the XmlSerializer.
XmlSerializer serializer = new XmlSerializer(typeof(MyType));
// Read the xml.
Stream reader= new FileStream(@".'MyXmlFile.xml", FileMode.Open);
// Call the Deserialize method to restore the object's state.
MyType myType = (MyType) serializer.Deserialize(reader);

在你的情况下,你会做这样的事情:

file f = (file) serializer.Deserialize(reader);
// Then you can use your "file" instance:
foreach (fileClass fc in f.itemsField)
{
    //.. Do something here
}
相关文章:
  • 没有找到相关文章