C# 如何反序列化特定的XML文档
如何反序列化此类XML文档:C# 如何反序列化特定的XML文档,c#,xml,deserialization,C#,Xml,Deserialization,如何反序列化此类XML文档: <?xml version="1.0" encoding="utf-8"?> <ModelInformation Version="0.9"> <Model> <Block BlockType="SubSysteme" Name="subSysteme1"> <p Nom="tag">xx</P> <p Nom="coordonee">xx</P> &l
<?xml version="1.0" encoding="utf-8"?>
<ModelInformation Version="0.9">
<Model>
<Block BlockType="SubSysteme" Name="subSysteme1">
<p Nom="tag">xx</P>
<p Nom="coordonee">xx</P>
<System>
<p Name="source">xx</P>
<Block BlockType="Entree" Name="Entree_1">
<p Name="coordonne"</P>
</Block>
<Block BlockType="Entree" Name="Entree_2">
<p Name="coordonne">xx</P>
</Block>
<Block BlockType="Entree" Name="Sortie_3">
<p Name="coordonne">xx</P>
</Block>
<Block BlockType="SubSysteme" Name="SubSysteme1.01">
<p Name="tag">xx</P>
<p Name="coordonne">xx</P>
<System>
<p Name="source">xx</P>
<Block BlockType="Entree" Name="XXX">
<p Name="coordonne"</P>
</Block>
<Block BlockType="Sortie" Name="XXX">
<p Name="coordonne">xx</P>
</Block>
</System>
</Block>
</System>
</Block
</Model>
</ModelInformation>
block.Name为空,我不知道为什么
标签HTLM中有相同的标签HTLM。如何处理?您的XML无效,所以要做的第一件事就是修复它
<ModelInformation Version="0.9">
<Model>
<Block BlockType="SubSysteme" Name="subSysteme1">
<P Nom="tag">xx</P>
<P Nom="coordonee">xx</P>
<System>
<P Name="source">xx</P>
<Block BlockType="Entree" Name="Entree_1">
<P Name="coordonne"></P>
</Block>
<Block BlockType="Entree" Name="Entree_2">
<P Name="coordonne">xx</P>
</Block>
<Block BlockType="Entree" Name="Sortie_3">
<P Name="coordonne">xx</P>
</Block>
<Block BlockType="SubSysteme" Name="SubSysteme1.01">
<P Name="tag">xx</P>
<P Name="coordonne">xx</P>
<System>
<P Name="source">xx</P>
<Block BlockType="Entree" Name="XXX">
<P Name="coordonne"></P>
</Block>
<Block BlockType="Sortie" Name="XXX">
<P Name="coordonne">xx</P>
</Block>
</System>
</Block>
</System>
</Block>
</Model>
</ModelInformation>
xx
xx
xx
xx
xx
xx
xx
xx
xx
。。。然后可以粘贴特殊->粘贴XML作为类
你可以得到这样的东西作为你的类表示。这可以整理很多
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true), System.Xml.Serialization.XmlRoot(Namespace = "", IsNullable = false)]
public class ModelInformation
{
private ModelInformationModel _modelField;
private decimal _versionField;
/// <remarks/>
public ModelInformationModel Model
{
get
{
return _modelField;
}
set
{
_modelField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public decimal Version
{
get
{
return _versionField;
}
set
{
_versionField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModel
{
private ModelInformationModelBlock _blockField;
/// <remarks/>
public ModelInformationModelBlock Block
{
get
{
return _blockField;
}
set
{
_blockField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlock
{
private ModelInformationModelBlockP[] _pField;
private ModelInformationModelBlockSystem _systemField;
private string _blockTypeField;
private string _nameField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("P")]
public ModelInformationModelBlockP[] P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
public ModelInformationModelBlockSystem System
{
get
{
return _systemField;
}
set
{
_systemField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string BlockType
{
get
{
return _blockTypeField;
}
set
{
_blockTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockP
{
private string _nomField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Nom
{
get
{
return _nomField;
}
set
{
_nomField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystem
{
private ModelInformationModelBlockSystemP _pField;
private ModelInformationModelBlockSystemBlock[] _blockField;
/// <remarks/>
public ModelInformationModelBlockSystemP P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Block")]
public ModelInformationModelBlockSystemBlock[] Block
{
get
{
return _blockField;
}
set
{
_blockField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlock
{
private ModelInformationModelBlockSystemBlockP[] _pField;
private ModelInformationModelBlockSystemBlockSystem _systemField;
private string _blockTypeField;
private string _nameField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("P")]
public ModelInformationModelBlockSystemBlockP[] P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
public ModelInformationModelBlockSystemBlockSystem System
{
get
{
return _systemField;
}
set
{
_systemField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string BlockType
{
get
{
return _blockTypeField;
}
set
{
_blockTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystem
{
private ModelInformationModelBlockSystemBlockSystemP _pField;
private ModelInformationModelBlockSystemBlockSystemBlock[] _blockField;
/// <remarks/>
public ModelInformationModelBlockSystemBlockSystemP P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Block")]
public ModelInformationModelBlockSystemBlockSystemBlock[] Block
{
get
{
return _blockField;
}
set
{
_blockField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystemP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystemBlock
{
private ModelInformationModelBlockSystemBlockSystemBlockP _pField;
private string _blockTypeField;
private string _nameField;
/// <remarks/>
public ModelInformationModelBlockSystemBlockSystemBlockP P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string BlockType
{
get
{
return _blockTypeField;
}
set
{
_blockTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystemBlockP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true),System.Xml.Serialization.XmlRoot(Namespace=”,IsNullable=false)]
公共类模型信息
{
私有模型信息模型_modelField;
专用十进制字段;
///
公共模型信息模型
{
得到
{
返回_modelField;
}
设置
{
_modelField=值;
}
}
///
[System.Xml.Serialization.XmlAttribute()]
公开十进制版本
{
得到
{
返回_versionField;
}
设置
{
_版本字段=值;
}
}
}
///
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true)]
公共类模型信息模型
{
私有模型信息模型块(blockField);
///
公共模型信息模型块
{
得到
{
返回块域;
}
设置
{
_区块字段=值;
}
}
}
///
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true)]
公共类ModelInformationModelBlock
{
私有ModelInformationModelBlockP[]\u pField;
私有模型信息模型块系统_systemField;
私有字符串_blockTypeField;
私有字符串_nameField;
///
[System.Xml.Serialization.XmlElementAttribute(“P”)]
公共模型信息模型块P[]P
{
得到
{
返回场;
}
设置
{
_pField=值;
}
}
///
公共模型信息模型块系统
{
得到
{
返回_系统字段;
}
设置
{
_系统字段=值;
}
}
///
[System.Xml.Serialization.XmlAttribute()]
公共字符串块类型
{
得到
{
返回_blockTypeField;
}
设置
{
_blockTypeField=值;
}
}
///
[System.Xml.Serialization.XmlAttribute()]
公共字符串名
{
得到
{
返回_nameField;
}
设置
{
_名称字段=值;
}
}
}
///
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true)]
公共类ModelInformationModelBlockP
{
私有字符串_nomField;
私有字符串_valueField;
///
[System.Xml.Serialization.XmlAttribute()]
公共字符串名称
{
得到
{
返回_nomField;
}
设置
{
_nomField=值;
}
}
///
[System.Xml.Serialization.XmlText()]
公共字符串值
{
得到
{
返回值字段;
}
设置
{
_valueField=值;
}
}
}
///
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true)]
公共类ModelInformationModelBlockSystem
{
私有模型信息模型BlockSystemp\u pField;
私有ModelInformationModelBlockSystemBlock[]\u块域;
///
公共模型InformationModelBlockSystemP
{
得到
{
返回场;
}
设置
{
_pField=值;
}
}
///
[System.Xml.Serialization.XmlElementAttribute(“块”)]
公共模型信息模型块SystemBlock[]块
{
得到
{
返回块域;
}
设置
{
_区块字段=值;
}
}
}
///
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true)]
公共类ModelInformationModelBlockSystemP
{
私有字符串_nameField;
私有字符串_valueField;
///
[System.Xml.Serialization.XmlAttribute()]
公共字符串名
{
得到
{
返回_nameField;
}
设置
{
_名称字段=值;
}
}
///
[System.Xml.Serialization.XmlText()]
公共字符串值
{
得到
{
返回值字段;
}
设置
{
_valueField=值;
}
}
}
///
[System.Serializable(),System.ComponentModel.DesignerCategory(“代码”),System.Xml.Serialization.XmlType(AnonymousType=true)]
公共类ModelInformationModelBlockSystemBlock
{
私有模型信息模型BlockSystemBlockP[]\u pField;
私有模型信息模型块系统块系统_systemField;
私有字符串_blockTypeField;
公共关系
<ModelInformation Version="0.9">
<Model>
<Block BlockType="SubSysteme" Name="subSysteme1">
<P Nom="tag">xx</P>
<P Nom="coordonee">xx</P>
<System>
<P Name="source">xx</P>
<Block BlockType="Entree" Name="Entree_1">
<P Name="coordonne"></P>
</Block>
<Block BlockType="Entree" Name="Entree_2">
<P Name="coordonne">xx</P>
</Block>
<Block BlockType="Entree" Name="Sortie_3">
<P Name="coordonne">xx</P>
</Block>
<Block BlockType="SubSysteme" Name="SubSysteme1.01">
<P Name="tag">xx</P>
<P Name="coordonne">xx</P>
<System>
<P Name="source">xx</P>
<Block BlockType="Entree" Name="XXX">
<P Name="coordonne"></P>
</Block>
<Block BlockType="Sortie" Name="XXX">
<P Name="coordonne">xx</P>
</Block>
</System>
</Block>
</System>
</Block>
</Model>
</ModelInformation>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true), System.Xml.Serialization.XmlRoot(Namespace = "", IsNullable = false)]
public class ModelInformation
{
private ModelInformationModel _modelField;
private decimal _versionField;
/// <remarks/>
public ModelInformationModel Model
{
get
{
return _modelField;
}
set
{
_modelField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public decimal Version
{
get
{
return _versionField;
}
set
{
_versionField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModel
{
private ModelInformationModelBlock _blockField;
/// <remarks/>
public ModelInformationModelBlock Block
{
get
{
return _blockField;
}
set
{
_blockField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlock
{
private ModelInformationModelBlockP[] _pField;
private ModelInformationModelBlockSystem _systemField;
private string _blockTypeField;
private string _nameField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("P")]
public ModelInformationModelBlockP[] P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
public ModelInformationModelBlockSystem System
{
get
{
return _systemField;
}
set
{
_systemField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string BlockType
{
get
{
return _blockTypeField;
}
set
{
_blockTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockP
{
private string _nomField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Nom
{
get
{
return _nomField;
}
set
{
_nomField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystem
{
private ModelInformationModelBlockSystemP _pField;
private ModelInformationModelBlockSystemBlock[] _blockField;
/// <remarks/>
public ModelInformationModelBlockSystemP P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Block")]
public ModelInformationModelBlockSystemBlock[] Block
{
get
{
return _blockField;
}
set
{
_blockField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlock
{
private ModelInformationModelBlockSystemBlockP[] _pField;
private ModelInformationModelBlockSystemBlockSystem _systemField;
private string _blockTypeField;
private string _nameField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("P")]
public ModelInformationModelBlockSystemBlockP[] P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
public ModelInformationModelBlockSystemBlockSystem System
{
get
{
return _systemField;
}
set
{
_systemField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string BlockType
{
get
{
return _blockTypeField;
}
set
{
_blockTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystem
{
private ModelInformationModelBlockSystemBlockSystemP _pField;
private ModelInformationModelBlockSystemBlockSystemBlock[] _blockField;
/// <remarks/>
public ModelInformationModelBlockSystemBlockSystemP P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Block")]
public ModelInformationModelBlockSystemBlockSystemBlock[] Block
{
get
{
return _blockField;
}
set
{
_blockField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystemP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystemBlock
{
private ModelInformationModelBlockSystemBlockSystemBlockP _pField;
private string _blockTypeField;
private string _nameField;
/// <remarks/>
public ModelInformationModelBlockSystemBlockSystemBlockP P
{
get
{
return _pField;
}
set
{
_pField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string BlockType
{
get
{
return _blockTypeField;
}
set
{
_blockTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
}
/// <remarks/>
[System.Serializable(), System.ComponentModel.DesignerCategory("code"), System.Xml.Serialization.XmlType(AnonymousType = true)]
public class ModelInformationModelBlockSystemBlockSystemBlockP
{
private string _nameField;
private string _valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttribute()]
public string Name
{
get
{
return _nameField;
}
set
{
_nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlText()]
public string Value
{
get
{
return _valueField;
}
set
{
_valueField = value;
}
}
}