を削除し、私は以下のクラスがあります。C#のXMLシリアル化ジャグ配列の要素名
public class MainRequest
{
private Request _dataField;
[XmlElementAttribute("Parameters")]
public Request Parameters
{
get
{
return _dataField;
}
set
{
_dataField = value;
}
}
}
public class Request
{
private RequestSize _requestSize;
private Field[][] _field;
[XmlElementAttribute(IsNullable = true)]
public RequestSize RequestSize
{
get
{
return _requestSize;
}
set
{
_requestSize = value;
}
}
[XmlArrayItem("BatchEntry")]
[XmlArrayItemAttribute("ParameterEntry", IsNullable = false, NestingLevel = 1)]
public Field[][] Batch
{
get
{
return _field;
}
set
{
_field = value;
}
}
}
public class RequestSize
{
private string _count;
private string _value;
[XmlAttributeAttribute]
public string Count
{
get
{
return _count;
}
set
{
_count = value;
}
}
[XmlTextAttribute]
public string Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
}
public class Field
{
private string _fieldName;
private string _fieldValue;
[XmlAttributeAttribute(AttributeName = "name")]
public string Name
{
get
{
return _fieldName;
}
set
{
_fieldName = value;
}
}
[XmlTextAttribute]
public string Value
{
get
{
return _fieldValue;
}
set
{
_fieldValue = value;
}
}
}
彼らはシリアライズされるとき私が取得:
<Parameters>
<RequestSize Count="1">2</RequestSize>
<Batch>
<BatchEntry>
<ParameterEntry name="AAA">111</ParameterEntry>
<ParameterEntry name="BBB">222</ParameterEntry>
<ParameterEntry name="CCC">333</ParameterEntry>
</BatchEntry>
</Batch>
</Parameters>
私はバッチ要素を取り除くためにしようとしていますが。私は、XMLは次のようになりたいのです:
<Parameters>
<RequestSize Count="1">2</RequestSize>
<BatchEntry>
<ParameterEntry name="AAA">111</ParameterEntry>
<ParameterEntry name="BBB">222</ParameterEntry>
<ParameterEntry name="CCC">333</ParameterEntry>
</BatchEntry>
</Parameters>
私がいることを[] []フィールド上のXmlElement属性を使用して私が行うとき、私はエラーを取得しようとした:
があります私は最上位の要素名なしで配列要素をシリアル化することができますか?実験を通して、あなたはBatchEntry
へBatch
の名前を変更する必要があります
を私はちょうどそれを試して、私の答えを編集しました。私はそれがうまくいくと思う。 – Corylulu