简体   繁体   中英

How to use xsd in c#?

I am new to xml's. I have used xsd.exe to create a .xsd file and a .cs file from an xml. But i don't know what or how to access it now? I have seen some example but found them confusing. Is there a simple tutorial somewhere or an example somebody could give me please?

    //------------------------------------------------------------------------------
// <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;
        }
    }
}

If you want to create a XML-serializable class and control the format of the xml then you can use xsd.exe to generate the types to pass into your XmlSerializer instance.

It sounds like you want to receive XML and then deserialize it to class instances so you can use them to populate various controls on your website.

So you can do something like this:

// 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);

In your case you would do something like:

file f = (file) serializer.Deserialize(reader);

// Then you can use your "file" instance:
foreach (fileClass fc in f.itemsField)
{
    //.. Do something here
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM