Xml 将元素获取为带逗号的字符串

Xml 将元素获取为带逗号的字符串,xml,vb.net,linq,xelement,Xml,Vb.net,Linq,Xelement,我有一个这样的想法: <Table1> <Field1>1</Field1> <Field2>example1</Field1> <Field1></Field1> <Field4>540</Field1> </Table1> String1="Field1,Field2,Field3,Field4" String2="1,example1,,540"

我有一个这样的想法:

<Table1>
   <Field1>1</Field1>
   <Field2>example1</Field1>
   <Field1></Field1>
   <Field4>540</Field1>
</Table1>
String1="Field1,Field2,Field3,Field4"
String2="1,example1,,540"
我现在得到的是:

Dim queryF = From p In elem.Elements _
         Select p.Name 
Dim queryV = From p In elem.Elements _
        Select p.Value
我知道我可以将queryF和queryV转换为list或array,然后生成字符串,但我想知道是否可以直接在同一个LINQ中进行转换


提前感谢

您无法控制LINQ查询返回的数据类型。该类型由LINQ提供程序(在本例中为LINQ到XML提供程序)确定。但是,您知道的是,无论它返回什么,它都将始终实现
IEnumerable
。由于
String.Join
方法有一个重载,它接受一个
IEnumerable
参数,因此不需要首先将其转换为数组:

Dim elem As XElement = <Table1>
                           <Field1>1</Field1>
                           <Field2>example1</Field2>
                           <Field1></Field1>
                           <Field4>540</Field4>
                       </Table1>
Dim string1 As String = String.Join(",", From p In elem.Elements Select p.Name)
Dim string2 As String = String.Join(",", From p In elem.Elements Select p.Value)
Dim elem As XElement=
1.
例1
540
Dim string1作为String=String.Join(“,”,从元素中的p选择p.Name)
将string2标注为String=String.Join(“,”,从元素中的p选择p.Value)