如何使用LINQ查询得到的XElement值时,XElements具有相同的名称 [英] How to use a LINQ query to get XElement values when XElements have same name

查看:2021
本文介绍了如何使用LINQ查询得到的XElement值时,XElements具有相同的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有类似下面的一段XML:

 <表> 
<记录和GT;
<外勤及GT; Value1_1< /场及GT;
<外勤及GT; Value1_2< /场及GT;
< /记录和GT;
<记录和GT;
<外勤及GT; Value2_1< /场及GT;
<外勤及GT; Value2_2< /场及GT;
< /记录和GT;
< /表>



我想是产生一个IEnumerable,我可以作为一个数据源分配一个LINQ查询数据网格。我至今如下:

  VAR TEMP =从table.Elements记录(记录)
。选择所需record.Element(田)。价值

这是我可以有多个域元素的事实。是我的绊脚石



在上面的例子中,我需要的是像一个的IEnumerable<字符串,字符串>
数据网格会是这个样子:

  Value1_1,Value1_2 
Value2_1,Value2_2


解决方案

请问这样的帮助呢?

  VAR一个=从纪录table.Elements(记录)
选择新的
{
一路=(字符串)记录.Elements()的ElementAt(0),
两=(字符串)record.Elements()的ElementAt(1)
}。。


I have a piece of xml like the following:

<Table>
  <Record>
    <Field>Value1_1</Field>
    <Field>Value1_2</Field>
  </Record>
  <Record>
    <Field>Value2_1</Field>
    <Field>Value2_2</Field>
  </Record>
</Table>

What i would like is a LINQ query that generates an IEnumerable that i can assign as the datasource of a DataGrid. What i have so far is as follows:

var temp = from record in table.Elements("Record")
            select record.Element("Field").Value

The fact that I can have multiple field elements is my stumbling block.

In the above example, what i need is something like an IEnumerable<string,string>. The datagrid would look something like this:

Value1_1, Value1_2
Value2_1, Value2_2

解决方案

Would something like this help?

var a = from record in table.Elements("Record")
	select new
	{
		one = (string)record.Elements().ElementAt(0),
		two = (string)record.Elements().ElementAt(1)
	};

这篇关于如何使用LINQ查询得到的XElement值时,XElements具有相同的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆