Wie verwende ich die Anzahl der Zeilen in einem XML-Objekt und iteriere dann mit der Anzahl für jede Zeile, um die Zahl in der Iteration zu erzeugen und sie in die Tabellenzeile einzufügen? Nehmen wir an, ich habe ein Personen-Objekt mit mehreren Personen-Elementen: (In unserer Produktionsumgebung habe ich XML, das diesem sehr ähnlich ist.)
Code: Select all
var xmlstring =
"""
guy
124 street
gal
111 ave
sir
1243 street
alsosir
1111 ave
""";
Ich kann ein thisisalist-Objekt erstellen und sehen, dass ich vier Objekte habe.
Code: Select all
List thisisalistshowsmefourobjects = XElement.Parse(xmlString).Descendants("person").ToList();
Was ich tun würde, ist im Grunde eine for-Schleife für jede Person in people, wobei LINQ to XML einen erstellt und dann jeden Wert in einfügt, wobei er basierend auf der Position des Objekts in der Liste inkrementiert wird.:
Code: Select all
new XElement("tbody",
from person in XElement.Parse(xmlString)
.Descendants("person").ToList()
select new XElement("tr",
new XElement("td", ???????),
new XElement("td", person.Element("Name").Value)
new XElement("td", person.Element("Address").Value)
Ich möchte das sehen, habe aber noch keine Möglichkeit, die Iteration programmgesteuert zu bestimmen:
Count
Name
Address
1
guy
124 street
2
gal
111 ave
3
sir
1243 street
4
alsosir
1111 ave
5
..
..