XML格式字符串解析插入SQL数据库

.Net技术 码拜 8年前 (2016-03-07) 904次浏览
如题,现在有如下的XML格式的字符串,怎么把它解析插入到SQL数据库?

<Id>1</Id><ProductName>电视</ProductName><MadeTime>1905-07-07T00:00:00+08:00</MadeTime><Price>3200</Price><UserName>Robin</UserName>
<Id>2</Id><ProductName>电脑</ProductName><MadeTime>1905-06-29T00:00:00+08:00</MadeTime><Price>7200</Price><UserName>zoray</UserName>
<Id>3</Id><ProductName>XBOX ONE</ProductName><MadeTime>1905-07-02T00:00:00+08:00</MadeTime><Price>5200</Price><UserName>James</UserName>
<Id>4</Id><ProductName>XBOX</ProductName><MadeTime>1905-07-04T00:00:00+08:00</MadeTime><Price>4200</Price><UserName>JERRY</UserName>
<Id>5</Id><ProductName>PSP4</ProductName><MadeTime>1905-07-03T00:00:00+08:00</MadeTime><Price>4200</Price><UserName>TOM</UserName>
<Id>6</Id><ProductName>PSP ONE</ProductName><MadeTime>1905-07-06T00:00:00+08:00</MadeTime><Price>3200</Price><UserName>TONY</UserName>

其中Id 为主键。

解决方案

5

XmlDocument相关的类

25

XmlDocument doc = new XmlDocument();
            doc.Load("E:"+@"\新建文本文档.xml");
            XmlNodeList node = doc.SelectNodes("/SystemConfig/Product");
            for (int i = 0; i < node.Count; i++)
            {
                string id = node.Item(i).SelectSingleNode("/SystemConfig/Product/Id").InnerText;
                string productName = node.Item(i).SelectSingleNode("/SystemConfig/Product/ProductName").InnerText;
                string madeTime = node.Item(i).SelectSingleNode("/SystemConfig/Product/MadeTime").InnerText;
                string price = node.Item(i).SelectSingleNode("/SystemConfig/Product/Price").InnerText;
                string UserName = node.Item(i).SelectSingleNode("/SystemConfig/Product/UserName").InnerText;
                //获取到值插入数据库
            }
<Product>
<Id>1</Id><ProductName>电视</ProductName><MadeTime>1905-07-07T00:00:00+08:00</MadeTime><Price>3200</Price><UserName>Robin</UserName>
</Product>
<Product>
<Id>2</Id><ProductName>电脑</ProductName><MadeTime>1905-06-29T00:00:00+08:00</MadeTime><Price>7200</Price><UserName>zoray</UserName>
</Product>
<Product>
<Id>3</Id><ProductName>XBOX ONE</ProductName><MadeTime>1905-07-02T00:00:00+08:00</MadeTime><Price>5200</Price><UserName>James</UserName>
</Product>
<Product>
<Id>4</Id><ProductName>XBOX</ProductName><MadeTime>1905-07-04T00:00:00+08:00</MadeTime><Price>4200</Price><UserName>JERRY</UserName>
</Product>
<Product>
<Id>5</Id><ProductName>PSP4</ProductName><MadeTime>1905-07-03T00:00:00+08:00</MadeTime><Price>4200</Price><UserName>TOM</UserName>
</Product>
<Product>
<Id>6</Id><ProductName>PSP ONE</ProductName><MadeTime>1905-07-06T00:00:00+08:00</MadeTime><Price>3200</Price><UserName>TONY</UserName>
</Product>

10

linqtoxml读取成实体
或反序列化应该也可以
另外你这个缺少根元素,假如你拿到的xml字符串就是这样的话,那你可以加个根节点”<root>”+xml+”</root>”

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明XML格式字符串解析插入SQL数据库
喜欢 (0)
[1034331897@qq.com]
分享 (0)