windows 8 解析xml的 两种方式

 

windows 8上解析 xml  和 win phone 比较类似 

先联网获取   以字符串的形式  获取一个 xml  的 string

            Uri i = new Uri("http@#¥%#¥%#¥%@¥#%#¥4");
            HttpClient client = new HttpClient();
            HttpResponseMessage response = await client.GetAsync(i);
            response.EnsureSuccessStatusCode();

      //    Stream stream = await response.Content.ReadAsStreamAsync();
            string sy = await response.Content.ReadAsStringAsync();

A ,linq to  xml  

之后开始进行解析

           XDocument xdoc = XDocument.Parse(sy);   // 加载xml
            XNamespace xns = "http://schemas.microsoft.com/search/local/ws/rest/v1";
            var addresses = from node in xdoc.Descendants(xns + "Address")                               // 先查询到 address 节点的位置   定位
                            where node.Element(xns + "CountryRegion").Value.Contains("United States")    // 这个是条件     即 满足条件的 address 节点   ,  这里的意思xml中的   Adderss 下的  Element ‘countryregion’的值  里的必须包含Unitedstates字符串 才能算满足条件被查询到
                            select node.Element(xns + "FormattedAddress").Value;                         // 这步就是执行 查询  ,   这里 FormattedAddress和 CountryRegion是同一级别的   ,这里就是说同一级别的 CountryRegion如果不满足上面的where的条件  就不会被查询到 

然后结果会返回一个  集合  包含所有满足条件的  数据

 

 

 

B      xmlreader  不断循环的方式读取

posted on 2012-11-09 17:55  Top@Gragon  阅读(619)  评论(0编辑  收藏  举报

导航