Announcement

Collapse
No announcement yet.

XML nach DataGridView

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XML nach DataGridView

    Hallo,
    der nachfolgende Code funktioniert zwar, zeigt aber ein falsches Ergebnis:


    XElement xElement = XElement.Load("INDEX.xml");
    dataGridView1.DataSource = (from el in xElement.Descendants()
    select new { el.FirstNode, el.NextNode, el.LastNode}).ToList() ;



    Meine Fragen:

    1. Was muss ich verändern, damit ich z.B. el.FirstNode.Name oder el.First.Node.Value erhalte ?
    So wie hier notiert gehts auf jeden Fall nicht.

    2. Wie erreiche ich auch die anderen Knoten nach NextNode und vor LastNode ?


    Danke für eine Antwort

    Walter

  • #2
    Hallo,

    hier ein Ausschnitt aus dem sehr komplexen, vorgegebenen XML-Dokument:


    <Table>
    <URL>s2011.txt</URL>
    <Name>Sachkonten 2011</Name>
    <Description>Sachkonten 2011</Description>
    <DecimalSymbol>,</DecimalSymbol>
    <DigitGroupingSymbol>.</DigitGroupingSymbol>
    <Range><From>2</From></Range>


    <VariableLength>
    <VariableColumn>
    <Name>Kontonummer</Name>
    <Description>Kontonummer alphanumerisch zum Erhalt fuehrender Nullen
    </Description>
    <AlphaNumeric/>
    <MaxLength>7</MaxLength>
    </VariableColumn>
    <VariableColumn>
    <Name>Kuerzel</Name>
    <Description>Kürzel</Description>
    <AlphaNumeric/>
    <MaxLength>8</MaxLength>
    </VariableColumn>
    <VariableColumn>
    <Name>Name</Name>
    <Description>Name</Description>
    <AlphaNumeric/>
    <MaxLength>40</MaxLength>
    </VariableColumn>
    <VariableColumn>
    <Name>Eroeffnungsdatum</Name>
    <Description>Eröffnungsdatum</Description>
    <Date>
    <Format>DD.MM.YYYY</Format>
    </Date>
    </VariableColumn>

    ...




    Hallo,


    Nun bin ich schon eine Schritt weiter: wenn ich das Name-Element innerhalb VariableColumns auslesen will, dann erreiche ich so das erste Element:

    var E = (from el in xElement.Descendants("Table")
    where (string)el.Element("URL").Value == ("s2011.txt")
    select new
    { Name = (string)el.Descendants("VariableColumn").Elements( "Name").First() });


    ... und mit .Last() erreiche ich das letzte Element.
    Aber: immer noch nicht klar ist, wie ich die Elemente dazwischen erreichen kann.

    Gruß
    Walter

    Comment

    Working...
    X