C# 解析XML格式的字符串

时间:2021-08-23 23:05:47
 public CreateOrderReturnResult GetCreateOrderReturnApi()
{
var result = new CreateOrderReturnResult();
try
{
DataSet ds = new DataSet();
StringReader stream = new StringReader("XML字符串");//读取字符串为数据量
XmlTextReader reader = new XmlTextReader(stream);//对XML的数据流的只进只读访问
ds.ReadXml(reader);//吧数据读入DataSet
DataTable dt = ds.Tables["createOrderReturn"]; result.Orders = new List<CreateOrderReturn>();
if (dt.Rows.Count > )
{
for (int i = ; i < dt.Rows.Count; i++)
{
CreateOrderReturn order = new CreateOrderReturn();
DataRow dr = ds.Tables[].Rows[i];
order.AdditionalDocument = dr["additionalDocument"].ToString();
order.DeliveryCharge = decimal.Parse(dr["deliveryCharge"].ToString());
order.ErrMessage = dr["errMessage"].ToString();
order.InsurPermFee = decimal.Parse(dr["insurPermFee"].ToString());
order.ItemNo = dr["itemNo"].ToString();
order.OrderNo = dr["OrderNo"].ToString();
order.Status = int.Parse(dr["Status"].ToString());
result.Orders.Add(order);
}
}
}
catch (Exception ex)
{
result.HasError = true;
result.ErrorMessage = ex.Message;
}
return result;
} public class CreateOrderReturnResult
{
public bool HasError { get; set; }
public string ErrorMessage { get; set; }
public List<CreateOrderReturn> Orders { get; set; }
} public class CreateOrderReturn
{
public string AdditionalDocument { get; set; }
public decimal DeliveryCharge { get; set; }
public string ErrMessage { get; set; }
public decimal InsurPermFee { get; set; }
public string ItemNo { get; set; }
public string OrderNo { get; set; }
public int Status { get; set; }
}