我想讀一個簡單的xml並通過類反序列化它。但是它爲xml中的所有參數返回空值。 任何人都可以幫我解決這個空的返回值問題,同時反序列化下面的XML。反序列化簡單的xml返回空值
<Batch>
<description>example</description>
<fileField>DesktopA</fileField>
<output>The</output>
<input>home</input>
<input>green</input>
<parameters>
<action>1</action>
<item>2</item>
</parameters>
<parameters>
<action>1</action>
<item>4</item>
</parametersField>
</Batch>
類:
[Serializable()]
public partial class Batch {
private string description;
private string fileField;
private string output;
private string[] input;
private Parameter[] parameters;
/// <remarks/>
public string Description {
get {
return this.description;
}
set {
this.description = value;
}
}
/// <remarks/>
public string File {
get {
return this.fileField;
}
set {
this.fileField = value;
}
}
/// <remarks/>
public string Output {
get {
return this.output;
}
set {
this.output = value;
}
}
/// <remarks/>
[XmlElement]
public string[] Input {
get {
return this.input;
}
set {
this.input = value;
}
}
/// <remarks/>
[XmlElement]
public Parameter[] Parameters {
get {
return this.parameters;
}
set {
this.parameters = value;
}
}
}
/// <remarks/>
public partial class Parameter {
private sbyte action;
private object item;
/// <remarks/>
public sbyte Action {
get {
return this.action;
}
set {
this.action = value;
}
}
/// <remarks/>
[XmlElement]
public object Item {
get {
return this.item;
}
set {
this.item = value;
}
}
的deserializaion方法:
XmlSerializer reader;
Type bt = batchInfo.GetType();
reader = new XmlSerializer(bt);
System.IO.StreamReader file =
new System.IO.StreamReader(testScriptFile, System.Text.Encoding.Default);
batchInfo = (Batch)reader.Deserialize(file);
你的屬性,如'description'讀取時需要有一個公共的二傳手。如果你想擁有不同的屬性名稱,那麼你可以使用屬性的xml。 – NtFreX
謝謝。但我從xml使用相同的名稱沒有問題。而且我不瞭解屬性,因爲我是xml新手。你可以幫我改變代碼示例? – Newbie0111