您的位置:首页 > 其它

1.4.2 用LINQ to XML 对 XML 文件进行处理

2012-04-24 23:11 417 查看
<?xml version="1.0" encoding="utf-8" ?>
<Data>
<Products>
<Product Name="West Side Story" Price="9.99" SupplierID="1"></Product>
<Product Name="Assassins" Price="14.99" SupplierID="2"></Product>
<Product Name="Frogs" Price="13.99" SupplierID="1"></Product>
<Product Name="Sweeney Todd" Price="10.99" SupplierID="3"></Product>
</Products>

<Suppliers>
<Sopplier Name="Solely Sondheim" SupplierID="1"></Sopplier>
<Sopplier Name="CD-by-CD-by-Sondheim" SupplierID="2"></Sopplier>
<Sopplier Name="Barbershop CDs" SupplierID="3"></Sopplier>
</Suppliers>
</Data>


XDocument doc = XDocument.Load("data.xml");
var filtered = from p in doc.Descendants("Product")
join s in doc.Descendants("Sopplier")
on (int)p.Attribute("SupplierID")
equals (int)s.Attribute("SupplierID")
where (decimal)p.Attribute("Price") > 10
orderby (string)s.Attribute("Name"), (string)p.Attribute("Name")
select new
{
SupplierName = (string)s.Attribute("Name"),
ProductName = (string)p.Attribute("Name")
};
foreach(var v in filtered)
{
Console.WriteLine("Supplier={0};Product={1}",v.SupplierName,v.ProductName);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: