日期:2014-05-20 浏览次数:21044 次
<?xml version="1.0" encoding="gb2312" ?>
<root>
<price>
<pric>01</pric>
<pri>01</pri>
</price>
<price>
<pric>02</pric>
<pri>02</pri>
</price>
<price>
<pric>03</pric>
<pri>03</pri>
</price>
<price>
<pric>04</pric>
<pri>04</pri>
</price>
</root>
<?xml version="1.0" encoding="gb2312" ?>
<root>
<price>
<pri>i01</pri>
<name>第一个</name>
</price>
<price>
<pri>02</pri>
<name>第二个</name>
</price>
<price>
<pri>03</pri>
<name>第三个</name>
</price>
<price>
<pri>04</pri>
<name>第四个</name>
</price>
</root>
static void Excute()
{
XDocument xd = XDocument.Load("name.xml");
XDocument dx = XDocument.Load("price.xml");
var result = from x in xd.Elements()
join d in dx.Elements()
on x.Element("pri").Value equals d.Element("pri").Value
select new
{
pre = d.Element("pric").Value,
name = x.Element("name").Value
};
foreach (var o in result)
{
Console.WriteLine(o.name + " " + o.pre);
}
}
static void Excute()
{
XDocument xd = XDocument.Load("name.xml");
XDocument dx = XDocument.Load("price.xml");
var result = from x in xd.Descendants("price")
join d in dx.Descendants("price")
on x.Element("pri").Value equals d.Element("pri").Value
select new
{
pre = d.Element("pric").Value,
name = x.Element("name").Value
};
foreach (var o in result)
{
Console.WriteLine(o.name + " " + o.pre);
}
}
------解决方案--------------------
static void Excute()
{
XDocument xd = XDocument.Load("name.xml");
XDocument dx = XDocument.Load("price.xml");
var result = from x in xd.Descendants("price")
join d in dx.Descendants("price")
on x.Element("pri").Value equals d.Element("pri").Value
select new
{
pre = d.Element("pric").Value,
name = x.Element("name").Value
};
foreach (var o in result)
{
Console.WriteLine(o.name + " " + o.pre);
}
}