Linq to Xml遍历

        private void GetAllValues(XElement doc)
        {
            ChartValues = new List<double>();
            ChartKeys = new List<string>();

            var myValues = from pv in doc.Descendants("value")
                           select pv.Value;
            foreach (var v1 in myValues)
                ChartValues.Add(Convert.ToDouble(v1));

            var myKeys = from pn in doc.Descendants("name")
                         //where pn.Value == "方欣科技"
                           select pn.Value;
            foreach (var v1 in myKeys)
                ChartKeys.Add(Convert.ToString(v1));
        }

调用:

        void ws_GetStockCompleted(object sender, GetStockCompletedEventArgs e)
        {

            if (e.Error == null)
            {
                XElement doc = XElement.Load(new StringReader(e.Result));
                GetAllValues(doc);
               

                //using (XmlReader Reader = XmlReader.Create(new StringReader(e.Result)))
                //{
                //    ChartValues = new List<double>();
                //    ChartKeys = new List<string>();
                //    for (int i = 0; i < 4; i++)
                //    {
                //        //Reader.ReadToFollowing("value");
                //        //ChartValues.Add(Convert.ToInt32(Reader.ReadInnerXml()));
                //        //Reader.ReadToFollowing("name");
                //        //ChartKeys.Add(Reader.ReadElementContentAsString());

                //        Reader.ReadToFollowing("value");
                //        ChartValues.Add(Reader.ReadElementContentAsDouble());

                //        //Stock1.Text += ChartValues[i] + "-";
                //    }
                //}
            }
        }

关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
目前维护的开源产品:https://gitee.com/475660
原文地址:https://www.cnblogs.com/starcrm/p/1353906.html