后台传XML格式到存储过程

public static class SerializeHelper {
        private static readonly XmlSerializerNamespaces Namespaces = new XmlSerializerNamespaces();

        static SerializeHelper() {

            Namespaces.Add(string.Empty, string.Empty);
        }

        /// <summary>
        /// 序列化数组为XML
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string SerializeXml<T>(T obj) {
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            using (MemoryStream stream = new MemoryStream()) {
                serializer.Serialize(stream, obj, Namespaces);
                return Encoding.UTF8.GetString(stream.ToArray());
            }
        }

        public static T DeserializeXml<T>(string obj) {
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            using (StringReader reader = new StringReader(obj)) {
                return (T)serializer.Deserialize(reader);
            }
        }
    }
declare @PigID XML
set @PigID='<?xml version="1.0"?>
<ArrayOfString><string>201602242086590922</string></ArrayOfString>'
select N.value( '(text())[1]','VARCHAR(20)' ) PigID from @PigID.nodes('/ArrayOfString/string') V(N)

 

public static void UpdateSowState(string PigID) {
            string[] PigIDs = PigID.TrimEnd(',').Split(',');
            ///将数组序列化成XML
            string PigID2s = SerializeHelper.SerializeXml(PigIDs);
            if (PigID2s.Length == 0) { PigID2s = "''"; }

            int result;

            try {
                SqlParameter[] parameters = { new SqlParameter("@PigID", SqlDbType.Xml, 8000) };
                parameters[0].Value = PigID2s.ToString();

                int result2 = DataProviderFactory.DataProvider.RunProcedure("P_Update_Pig_SowState", parameters, out result);

            }
            catch (Exception ex) {
                LogHelper.WriteLog("更新种猪状态异常! PigID:" + PigID + "  " + ex.Message, ex);
            }

        }

 

posted @ 2016-04-26 18:23  wjl910  阅读(254)  评论(0)    收藏  举报