Xml写入数据库

INSERT INTO EcommerceLog.dbo.TempSONumber
    SELECT  
        T.C.value('(.)[1]', 'INT') as SONumber,
        GETDATE()
    FROM @Xml.nodes('./SoNumber') AS T(C)

 

        private string BuildVideoItemXml(List<VideoItemDTO> itemList)
        {
            if (itemList == null || itemList.Count <= 0)
            {
                return string.Empty;
            }

            var xmlDocument = new XmlDocument();
            XmlNode root = xmlDocument.CreateElement("Video");
            foreach (var item in itemList)
            {
                XmlElement videoItem = xmlDocument.CreateElement("VideoItem");

                var itemCode = xmlDocument.CreateElement("ItemCode");
                itemCode.InnerText = item.ItemCode;
                videoItem.AppendChild(itemCode);

                var priority = xmlDocument.CreateElement("Priority");
                priority.InnerText = item.Priority.ToString();
                videoItem.AppendChild(priority);

                var companyID = xmlDocument.CreateElement("CompanyID");
                companyID.InnerText = item.CompanyID.ToString();
                videoItem.AppendChild(companyID);

                var languageCode = xmlDocument.CreateElement("LanguageCode");
                languageCode.InnerText = item.LanguageCode;
                videoItem.AppendChild(languageCode);

                var countryCode = xmlDocument.CreateElement("CountryCode");
                countryCode.InnerText = item.CountryCode;
                videoItem.AppendChild(countryCode);

                var ownerCompanyID = xmlDocument.CreateElement("OwnerCompanyID");
                ownerCompanyID.InnerText = item.OwnerCompanyID.ToString();
                videoItem.AppendChild(ownerCompanyID);

                root.AppendChild(videoItem);
            }

            return root.OuterXml;
        }

 

INSERT INTO Ecommerce2005.dbo.EC_VideoItem
(
     VideoID
    ,ItemCode
    ,Priority
    ,InUser
    ,InDate
    ,CompanyID
    ,LanguageCode
    ,CountryCode
    ,OwnerCompanyID
) 
SELECT
     @VideoID
    ,A.[S].value('(ItemCode/text())[1]','CHAR(30)')
    ,A.[S].value('(Priority/text())[1]','INT')
    ,@LastEditUser
    ,GETDATE()
    ,A.[S].value('(CompanyID/text())[1]','INT')
    ,A.[S].value('(LanguageCode/text())[1]','CHAR(5)')
    ,A.[S].value('(CountryCode/text())[1]','CHAR(5)')
    ,A.[S].value('(OwnerCompanyID/text())[1]','INT')
FROM @VideoItemXml.nodes('/Video/VideoItem') AS A([S])

 

posted @ 2014-12-16 16:20  lvxin  阅读(170)  评论(0)    收藏  举报