2014-02-19 83 views
1

我有一個這樣的的XElement:獲取xElements作爲字符串逗號

<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列出或數組,然後產生我的琴絃,但我在S想知道如果我能做到這一點直接AME LINQ

在此先感謝

回答

1

你無法控制由LINQ查詢返回的數據的類型。該類型由LINQ提供者(在這種情況下爲LINQ to 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) 
+0

非常感謝您對您的出色答卷 – Nianios

相關問題