如何在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;
}
}
}
如果要创建一个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
}