C#解析XML字符串

复制代码
string sql = "实际sql语句";
            DataTable sourseDt = OracleHelper.ExecuteDataTable(sql);
            for(var i = 0;i < sourseDt.Rows.Count; i++)
            {
                string sourceCont = sourseDt.Rows[i]["FIELDVALUES"].ToString();

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(sourceCont);
                //取so
                XmlNodeList nodelist = xmlDoc.GetElementsByTagName("oea01");
                string so = nodelist[0].InnerText;
         //取po
                    nodelist = xmlDoc.GetElementsByTagName("oea10");
                    string po = nodelist[0].InnerText;

                    //取单身
                    nodelist = xmlDoc.GetElementsByTagName("s_oeb");
                    string sourceGrid = nodelist[0].InnerXml;
                    xmlDoc.LoadXml(sourceGrid);
                    //单身用record,可能多条
                    nodelist = xmlDoc.GetElementsByTagName("record");
                    foreach (XmlNode pnode in nodelist)
                    {
                        DataRow dr = dt.NewRow();
                        dr["so"] = so;
                        dr["po"] = po;
                        for (var k = 0; k < pnode.ChildNodes.Count; k++)
                        {
                            XmlNode sonNode = pnode.ChildNodes[k];
                            string key = sonNode.Attributes.GetNamedItem("id").Value;
                            string value = sonNode.InnerText.ToString();
                            int res = Array.IndexOf(needKey, key);
                            if (res > -1)
                            {
                                dr[key] = value;
                            }
                        }
                        dt.Rows.Add(dr);

                    }
                           
            }
复制代码

 

posted @   小严不言慢  阅读(691)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示