VB **erledigt** LINQ to Xml Abfrage mit evtl. vorhandenen Unterelementen

strolch00

redraft.de
ID: 155297
L
21 April 2006
1.684
72
Hi @all,

ich brauch mal wieder Hilfe und hoffe einer von euch kennt sich aus.

Ich bin gerade dabei mir mit VB .net eine WF Anwendung zu erstellen für meine Arbeit, sodass ich bisschen effektiver arbeiten kann.

Nun dachte ich mir, machst eine Menüdatei mit der ich dynamisch das Menü generiert kann sodass es erweiterbar ist.
Das ist diese:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<menu>
  <element>
    <type>Button</type>
    <name></name>
    <label>DIN 18121-1 (Wassergehalt)</label>
    <tag>DIN_18121-1_WN</tag>
  </element>
  <element>
    <type>Button</type>
    <name></name>
    <label>DIN 18123 (Kornverteilung)</label>
    <tag>DIN_18123_KV</tag>
  </element>
  <element>
    <type>SplittButton</type>
    <name></name>
    <label>DIN 18125-2 (Feldversuche)</label>
    <child>
      <type>Button</type>
      <name></name>
      <label>Bentonit</label>
      <tag></tag>
    </child>
    <child>
      <type>Button</type>
      <name></name>
      <label>Densi</label>
      <tag></tag>
    </child>
    <child>
      <type>Button</type>
      <name></name>
      <label>Ausstechzylinder</label>
      <tag></tag>
    </child>
    <child>
      <type>Button</type>
      <name></name>
      <label>Sandersatz</label>
      <tag></tag>
    </child>
  </element>
  <element>
    <type>Button</type>
    <name></name>
    <label>DIN 18134 (Plattendruckversuch)</label>
    <tag>DIN_18134_PDV</tag>
  </element>
  <element>
    <type>Button</type>
    <name></name>
    <label>DIN 4094 (Sondierungen)</label>
    <tag>DIN_4094_DP</tag>
  </element>
  <element>
    <type>SplittButton</type>
    <name></name>
    <label>TP - BF StB (Boden und Fels)</label>
    <child>
      <type>Button</type>
      <name></name>
      <label>Teil B 4.3 (dyn. PDN)</label>
      <tag></tag>
    </child>
    <child>
      <type>Button</type>
      <name></name>
      <label>B 8.3 (Troxler)</label>
      <tag></tag>
    </child>
  </element>
  <element>
    <type>Separator</type>
  </element>
  <element>
    <type>Button</type>
    <name></name>
    <label>DIN 18127 (Proctor)</label>
    <tag>DIN_18127_PR</tag>
  </element>
</menu>

Mein Problem ist nun diese Abfrage:
Code:
Dim qry = From k In doc...<element>
                   From b In k.<child> Where k.<child> Is Nothing
                  Select k

Ich brauche es eigentlich so das ich jeden Element in einzeln bekomme mit evtl. vorhandenen child´s (diese gruppiert unter dem jeweiligen Element).
So sollte es später aussehen:


Ich hab schon google und Bücher konsultiert, aber das bringt mich alles nicht wirklich weiter, solch ein Beispiel konnte ich nirgends finden.

Ich hoffe einer von euch kennt sich mit LINQ to xml aus oder kann mir evtl. ein gutes Buch oder links empfehlen.

Danke @all
 
Zuletzt bearbeitet:
Hat sich erledigt, die Lösung ist
Code:
Dim qry = From k In doc...<element>
                  Group By k.<label> Into menu = Group
                  Order By menu.<orderId>.Value
                  Select menu