<data>
<game>
<id>173</id>
<stadium>173</stadium>
<date>20230408181th</date>
<title>123</title>
</game>
<block>
<id>1</id>
<entry>4</entry>
<title>0</title>
<visible>1</visible>
<numbered>1</numbered>
<seat>
<id>1</id>
<intid>123456</intid>
<abo>N</abo>
<customer>
<customerid>10295</customerid>
</customer>
</seat>
<seat>
<id>1</id>
<intid>1234567</intid>
<abo>N</abo>
<customer>
<customerid>10295</customerid>
</customer>
</seat>
</block>
<block>
<id>2</id>
<entry>3</entry>
<title>0</title>
<visible>1</visible>
<numbered>1</numbered>
<seat>
<id>1</id>
<intid>12345678</intid>
<abo>N</abo>
<customer>
<customerid>102951</customerid>
</customer>
</seat>
<seat>
<id>1</id>
<intid>123456790</intid>
<abo>N</abo>
<customer>
<customerid>102951</customerid>
</customer>
</seat>
</block>
AllocConsole();
var daneXML = XElement.Load("file.xml");
string game_id = daneXML.Elements("game").Elements("id").First().Value;
textbox.Text = game_id;
var games = daneXML.Elements("game").Select(game => game.Element("id").Value + "," + game.Element("stadium").Value +","+ game.Element("date").Value + ","+game.Element("title").Value);
foreach (var game in games)
{
Console.WriteLine(game);
}
var blocks = daneXML.Elements("block").Select(block => block.Element("id").Value + "," + block.Element("entry").Value + "," + block.Element("visible").Value + "," + block.Element("numbered").Value);
foreach (var block in blocks)
{
Console.WriteLine(block + "," + game_id);
}
var customers = daneXML.Elements("block").Elements("seat").Elements("customer").Select(customer => customer.Element("customerid").Value + "," + customer.Element("name").Value + "," + customer.Element("vorname").Value);
foreach (var customer in customers)
{
Console.WriteLine(customer);
//insert ignore
}
var seats = daneXML.Elements("block").Elements("seat").Select(seat => seat.Element("id").Value + "," + seat.Element("intid").Value + "," + seat.Element("abo").Value + "," + seat.Element("customerid").Value);
foreach (var seat in seats)
{
Console.WriteLine(seat+","+game_id);
}
Wydobycie tych danych nie stanowi problemu, szczególnie, że gamę_id ma stałą wartość, jednak seat powinien jeszcze zawierać informację nadrzędną block>id i podrzędną customer>customerid i tu zaczynają się schody, bo nie mogę się do nich dobrać w Console.WriteLine(seat+","+game_id); ani w seat, ani jako osobna wartość.