# Anfänge in XML



## Spin (11. Jan 2010)

```
<Cocktailliste>
    <Cocktail>
        <id>1</id>
        <name>Cuba Libre</name>
        <kategorie>Rum Drinks</kategorie>
        <beschreibung>Ca. 1 gehäuften Teelöffel Rohrzucker in ein Caipi.</beschreibung>
        <bewertung>1</bewertung>
        <zutat>
            <name>Cola</name>
            <einheit>cl</einheit>
            <kategorie>Softdrink</kategorie>
        </zutat>
        <zutat>
            <name>Limettensaft</name>
            <einheit>cl</einheit>
            <kategorie>Fruchtsaft</kategorie>
        </zutat>
        <zutat>
            <name>Rum</name>
            <einheit>cl</einheit>
            <kategorie>Alkohol</kategorie>
        </zutat>
    </Cocktail>
    
    
</Cocktailliste>
```


Hallo liebe Leute ich fange ein enig mit XML an und möchte gerne ein Programm schreiben mit den ich Cocktails nun nicht mehr aus der Datenbank hole , sondern mal aus einer XML.

Nun mache ich dass zum ersten mal und mich würde gerne die beste hierarchie interessieren.
Ich habe hier 3 Zutaten und bei anderen sogar 7 - 10 Zutaten.

Wie löse ich dass am besten in XML. Lieber zwei dateien?

Oder noch nen tag mit zutatenliste.

<zutatenliste > und der id = cuba libre.
Das  ich weiß dass dieser cocktail , diese zutatenliste hat

Hat einer einen schönen vorschlag? danke


----------



## Final_Striker (11. Jan 2010)

also ich würde das auf jedem fall noch in ein tag zutaten oder zutatenliste packen. macht das parsen naher auch viel leichter wenn man weiß das in zutatenliste alle zutaten stehen.


----------



## Spin (11. Jan 2010)

Bei knapp 500 Cocktails wird die Liste aber riesig....kann man die teilen?

Muss aber in meinen Programm über die Cocktails auf die Zutaten zugreifen können !:rtfm:


----------



## JohannisderKaeufer (19. Jan 2010)

[XML]
<Cocktailliste>
    <Cocktail>
        <id>1</id>
        <name>Cuba Libre</name>
        <kategorie>Rum Drinks</kategorie>
        <beschreibung>Ca. 1 gehäuften Teelöffel Rohrzucker in ein Caipi.</beschreibung>
        <bewertung>1</bewertung>
        <zutat name="rum"/>
        <zutat name="cola"/>
    </Cocktail>
    <Cocktail>
        <id>2</id>
        <name>Glas Cola</name>
        <kategorie>Softdrinks</kategorie>
        <beschreibung>Cola in ein Glas geben</beschreibung>
        <bewertung>1</bewertung>
        <zutat name="cola"/>
    </Cocktail>
  <Zutaten>
    <kategorie name="Alkohol">
      <Ingredienz name="rum" einheit="cl"/>
      <Ingredienz name="wodka" einheit="cl"/>
    </kategorie>
    <kategorie name="Softdrink">
      <Ingredienz name="cola" einheit="cl"/>
    </kategorie>
  </Zutaten>

</Cocktailliste>
[/XML]

Ich würde eine Aufteilung  in Cocktails und Zutaten machen. Die jeweiligen Zutaten dann Referenzieren.
Wenn jeder zweite Cocktail beispielsweise Cola benötigt, würde ansonsten jedesmal angegeben werden müssen das die einheit cl ist und das es in die Kategorie Softdrink fällt.

Die ID würde ich als Attribut erstellen da es bestimmt eindeutig sein soll und eine DTD oder ein Schema sicherstellen kann.


----------

