public void TableWithHeader() { var p1 = new xmlParser(); var t = p1.Parse( "<table>" + "<thead>" + "<tr>" + "<td>c 11</td><td>c 12</td>" + "</tr>" + "</thead>" + "<tbody>" + "<tr>" + "<td>c 21</td><td>c 22</td>" + "</tr>" + "</tbody>" + "</table>" ); Assert.AreEqual( 2, t.Count ); Assert.AreEqual( 2, t[0].Count ); Assert.AreEqual( 2, t[1].Count ); Assert.AreEqual( true, t[0].Head ); Assert.AreEqual( false, t[1].Head ); Assert.AreEqual( false, t[0].Foot ); Assert.AreEqual( false, t[1].Foot ); Assert.AreEqual( "c 11", t[0][0] ); Assert.AreEqual( "c 12", t[0][1] ); Assert.AreEqual( "c 21", t[1][0] ); Assert.AreEqual( "c 22", t[1][1] ); }
/// <summary> /// 代金券或立减优惠解析 /// </summary> /// <param name="parser"></param> /// <returns></returns> protected unsafe bool parseCoupon(xmlParser parser, char *name) { int index; char code = *(name + 7); if (code == 'i') { if ((index = getCouponIndex("coupon_id_", name)) >= 0) { return(parser.UnsafeParse(ref coupons[index].coupon_id)); } } else if (code == 'f') { if ((index = getCouponIndex("coupon_fee_", name)) >= 0) { return(parser.UnsafeParse(ref coupons[index].coupon_fee)); } } return(parser.IgnoreValue()); }
/// <summary> /// 退款信息 /// </summary> /// <param name="parser"></param> /// <returns></returns> private unsafe bool parseRefund(xmlParser parser, char *name) { int index, couponIndex = 0; switch (*name - 'c') { case 'c' - 'c': switch (*(name + 14) - 'b') { case 'f' - 'b': if ((index = getCouponIndex("coupon_refund_fee_", name, ref couponIndex)) >= 0) { if (couponIndex >= 0) { return(parser.UnsafeParse(ref refunds[index].coupons[couponIndex].coupon_refund_fee)); } else { return(parser.UnsafeParse(ref refunds[index].coupon_refund_fee)); } } break; case 'c' - 'b': if ((index = getRefundIndex("coupon_refund_count_", name)) >= 0) { return(parser.UnsafeParse(ref refunds[index].coupon_refund_count)); } break; case 'b' - 'b': if ((index = getCouponIndex("coupon_refund_batch_id_", name, ref couponIndex)) >= 0 && couponIndex >= 0) { return(parser.UnsafeParse(ref refunds[index].coupons[couponIndex].coupon_refund_batch_id)); } break; case 'i' - 'b': if ((index = getCouponIndex("coupon_refund_id_", name, ref couponIndex)) >= 0 && couponIndex >= 0) { return(parser.UnsafeParse(ref refunds[index].coupons[couponIndex].coupon_refund_id)); } break; } break; case 'r' - 'c': switch (*(name + 7) - 'c') { case 'i' - 'c': if ((index = getRefundIndex("refund_id_", name)) >= 0) { return(parser.UnsafeParse(ref refunds[index].refund_id)); } break; case 'c' - 'c': if ((index = getRefundIndex("refund_channel_", name)) >= 0) { return(parser.UnsafeEnumByte(ref refunds[index].refund_channel)); } break; case 'f' - 'c': if ((index = getRefundIndex("refund_fee_", name)) >= 0) { return(parser.UnsafeParse(ref refunds[index].refund_fee)); } break; case 's' - 'c': if ((index = getRefundIndex("refund_status_", name)) >= 0) { return(parser.UnsafeEnumByte(ref refunds[index].refund_status)); } break; } break; case 'o' - 'c': if ((index = getRefundIndex("out_refund_no_", name)) >= 0) { return(parser.UnsafeParse(ref refunds[index].out_refund_no)); } break; } return(parser.IgnoreValue()); }
private unsafe static bool parseRefund(xmlParser parser, ref refundResult value, ref pointer.size name) { return(value.parseRefund(parser, name.Char)); }
private unsafe static bool parseCoupon(xmlParser parser, ref orderResult value, ref pointer.size name) { return(value.parseCoupon(parser, name.Char)); }