Hallo,
ich habe ein Xml-Dokument, welches beispielsweise folgenden Aufbau hat
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8:
| <Database> <Table Name="dbo.ADRESSEN" Member="Adressen"> <Type Name="Adresse"> <Column Name="ISN" Member="ID" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" /> <Column Name="Knd" Type="System.String" DbType="Char(7)" CanBeNull="true" /> </Type> </Table> </Database> |
Nun möchte ich in Foreach-Schleifen jeden Wert aus Table --> jeden Wert aus Column
Das sieht bis jetzt so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| XmlNamespaceManager xmlnsManager = new XmlNamespaceManager(xmlDocument.NameTable); xmlnsManager.AddNamespace("ns","http://schemas.microsoft.com/linqtosql/dbml/2007"); foreach (XmlNode tableNode in xmlDocument.SelectNodes("//ns:Table", xmlnsManager)) { string tableName = tableNode.SelectSingleNode("@Name", xmlnsManager)?.Value; foreach (XmlNode columnNode in tableNode.SelectNodes("//ns:Type/Column", xmlnsManager)) { string columnName = columnNode.SelectSingleNode("@Name")?.Value; } } |
Wie gebe ich den korrekten Pfad für die Zweite
foreach-Schleife an, damit er wie im gezeigten Bsp-Dokument alle
column's durchgeht?