2014-01-31 2 views
0

Я пишу Function, чтобы добавить новый Nodes к XML файла, поэтому я создал 2 List<string> и затем объединяют их следующим образомИспользование Zip объединить 3 строки вместо 2

var FirstText = FirstList; 
var SecondText = SecondList; 
var AllText = FirstText.Zip(SecondText, (t1, t2) => new { FirstWord = t1, SecondWord = t2 }); 
foreach (var tt in AllText) 
{ 
    Xml.WriteStartElement(tt.FirstWord); 
    Xml.WriteValue(tt.SecondWord); 
    Xml.WriteEndElement(); 
} 

добавить что-то вроде этого

<Force>True</Force> 
<Auto>False</Auto> 

прямо сейчас я хочу, чтобы объединить 3 strings вместо 2, написав этот

Xml.WriteStartElement(tt.FirstWord); 
Xml.WriteStartElement(tt.SecondWord); 
Xml.WriteValue(tt.ThirdWord); 
Xml.WriteEndElement(); 
Xml.WriteEndElement(); 

так XML будет выглядеть

<Settings> 
    <Force>True</Force> 
</Settings> 
<Settings> 
    <Auto>True</Auto> 
</Settings> 

как я могу сделать такую ​​вещь?

+0

Zip два раза. _ – usr

+1

Тип LinqToXml для google. Вам может быть проще использовать его, чем XmlWriter. –

ответ

3

Просто позвоните .Zip снова:

var AllText = FirstText.Zip(SecondText, (t1, t2) => new { FirstWord = t1, SecondWord = t2 }); 
         .Zip(Values, (t12, v) => new 
          { FirstWord = t12.FirstWord, 
          SecondWord = t12.SecondWord, 
          ThirdWord = v }); 

Вы также можете

+0

отлично работает, спасибо –

Смежные вопросы