LINQ to XML

void Main()
{
    string path = @"C:\Users\knife\Desktop\test.xml";
        XDocument xml = XDocument.Load(path);
        XNamespace ns = "http://tempuri.org/TracePersistence.xsd";
        var events = xml.Element(ns+"TraceData").Element(ns+"Events").Elements(ns+"Event").Cast<XElement>().ToList();
        var result = new List<KeyValuePair<int,string>>();
        foreach(var item in events)
        {
            if(!item.Elements().Any(c=>c.Attribute("name").Value=="CPU"))
                continue;
            if(!item.Elements().Any(c=>c.Attribute("name").Value=="TextData"))
                continue;
                
            result.Add(new KeyValuePair<int,string>( 
                int.Parse(item.Elements().FirstOrDefault(c=>c.Attribute("name").Value=="CPU").Value),
                item.Elements().FirstOrDefault(c=>c.Attribute("name").Value=="TextData").Value
            ));
        }
        
        var query = from item in result
            orderby item.Key descending
            select new 
            {
                CPU = item.Key,
                Statement = item.Value
            };
        query.Dump();
}

 

转载于:https://www.cnblogs.com/nanfei/p/5528019.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值