1
後、私は私のクラスにXMLをシリアライズしてみてください。一覧XMLシリアル化
[XmlRoot(ElementName = "order")]
public class OrderModel
{
[XmlElement(ElementName = "purchaser")]
public CompanyModel Purchaser { get; set; }
[XmlElement(ElementName = "deliverver")]
public CompanyModel Deliverver { get; set; }
[XmlElement(ElementName = "position")]
public List<OrderPositionModel> Positions { get; set; }
}
public class OrderPositionModel
{
[XmlElement(ElementName = "id")]
public int id { get; set; }
[XmlElement(ElementName = "lp")]
public int OrdinalNumber { get; set; }
[XmlElement(ElementName = "name")]
public string Name { get; set; }
[XmlElement(ElementName = "quantity")]
public int Quantity { get; set; }
}
シリアライズした後、私は良いリストの長さを持つオブジェクトを取得しますが、その要素が空のID、LP、名前とquantitiyを持っています。
UPDATE シリアライズ方法
private object XmlReader(HttpPostedFileBase file, Type type)
{
var document = new XmlDocument();
document.Load(file.InputStream);
string stream = document.OuterXml;
StringReader strReader = null;
XmlSerializer serializer = null;
XmlTextReader xmlReader = null;
Object obj = null;
try
{
strReader = new StringReader(stream);
serializer = new XmlSerializer(type);
xmlReader = new XmlTextReader(strReader);
obj = serializer.Deserialize(xmlReader);
}
catch (Exception)
{
//Handle Exception Code
}
finally
{
if (xmlReader != null)
{
xmlReader.Close();
}
if (strReader != null)
{
strReader.Close();
}
}
return obj;
}
このような何かが、その後、私は
<order>
<purchaser>
<name>name1</name>
<address>address1</address>
</purchaser>
<deliverver>
<name>name2</name>
<address>address2</address>
</deliverver>
<position id="17" name="pos1" lp="1" quantity="1"/>
<position id="21" name="pos2" lp="2" quantity="2"/>
</order>
は、あなたのシリアル化コードを表示することができます(私も不要だったものをすべて削除しましたか)? –
@AliBaig – Quiet
を更新して、ロードしようとしているXMLを貼り付けます。 – Aybe