Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung

...powered by haas.homelinux.net...

Einstieg in VB.NET von René Martin
- Für Programmiereinsteiger -
Einstieg in VB.NET
gp Kapitel 10 XML-Dokumente
  gp 10.1 XML-Grundlagen
  gp 10.2 XML, HTML und XSL – die Ausgabe
    gp 10.2.1 XSL
    gp 10.2.2 Der Aufbau einer XSL-Datei
    gp 10.2.3 Mehrere Kindelemente anzeigen
    gp 10.2.4 Alle Elemente einer Ebene anzeigen
    gp 10.2.5 Attribute auslesen
    gp 10.2.6 STYLE in SPAN und DIV
    gp 10.2.7 Tabellen
    gp 10.2.8 Daten sortieren
    gp 10.2.9 Daten filtern
    gp 10.2.10 Ebenen durchlaufen
    gp 10.2.11 Entscheidungen
    gp 10.2.12 Bilder
    gp 10.2.13 Hyperlinks
    gp 10.2.14 Zusammenfassung von XSL
  gp 10.3 Mit VB.NET nach XML und zurück
    gp 10.3.1 Das DOM
    gp 10.3.2 Ein neues XML-Dokument erzeugen
    gp 10.3.3 Neue Elemente erzeugen
    gp 10.3.4 XML-Dokumente auslesen
    gp 10.3.5 Zugriff auf Attribute
    gp 10.3.6 Durchlaufen von mehreren Ebenen
    gp 10.3.7 Weitere XML-Elemente in VB.NET
    gp 10.3.8 Erzeugen von XML-Objekten und Eigenschaften
    gp 10.3.9 Löschen von Elementen im XML-Dokument
    gp 10.3.10 Transformationen von XML mit dem DOM
    gp 10.3.11 Zusammenfassung VB.NET und XML
  gp 10.4 Ein Beispiel
    gp 10.4.1 Das TreeView-Steuerelement
    gp 10.4.2 Daten werden eingelesen
    gp 10.4.3 Export in eine XML-Datei
  gp 10.5 Zusammenfassung

Kapitel 10 XML-Dokumente

In diesem Kapitel geht es um einige Grundlagen von XML. Dabei soll gezeigt werden, wie ein XML-Dokument aussehen darf, welche Regeln hierfür zu beachten sind und wo Fehlerquellen liegen. Anschließend wird gezeigt, wie ein XML-Dokument aufbereitet wird, sodass es vernünftig im Browser dargestellt wird. Im dritten Teil geht es um den XML-Export von VB.NET. Natürlich können auf diesen wenigen Seiten nicht alle Aspekte von XML erschöpfend behandelt werden – wer mehr zu XML wissen möchte, dem sei weitergehende Literatur empfohlen.


Galileo Computing

10.1 XML-Grundlagen  downtop

Um das hier Beschriebene nachvollziehen zu können, genügt ein einfacher Editor, in dem die Daten eingegeben werden. Um das Ergebnis darzustellen, sollten Sie einen Browser installiert haben, am besten den Internet Explorer von Microsoft, da dieser schon in der Version 5.0 XML unterstützt hat.

Das einfachste XML-Dokument hat die Form:

<Bolte>Wofuer sie besonders schwaermet, wenn es wieder aufgewaemet.</Bolte>

Speichern Sie es unter einem beliebigen Namen und geben Sie der Datei die Endung »xml«. Nennen Sie es beispielsweise »bsp01.xml«.

Dies kann man im Internet Explorer sichtbar machen:

Abbildung

Abbildung 10.1   Das erste (und einfachste) XML-Dokument

Die spitzen Klammern mit dem Begriff, den sie umschließen, sind Ihnen sicherlich vom HTML bekannt – sie heißen »Tag«. Der Internet Explorer stellt die spitzen Klammern, die den Namen des Tags (»Bolte«) einleiten und abschließen, in blauer Farbe dar. Der Tag-Name selbst erscheint braun und die Daten, um die es geht, in schwarzer Farbe.

Um dies noch einmal deutlich zu formulieren: Auch XML hält und strukturiert die Daten nur. XML ist nicht für die Darstellung, für das Aussehen oder die Ausgabe zuständig. Das erledigen andere (zum Beispiel XSL oder CSS) – und dies wird noch beschrieben.

Doch das XML-Dokument soll etwas genauer dargestellt werden. In der ersten Zeile muss die Versionsnummer oder genauer die XML-Deklaration stehen:

<?xml version="1.0"?>
<Bolte>Spitz, das war ihr erstes Wort.</Bolte>

Mit xml version="1.0" wird die Versionsnummer festgelegt, die beiden Fragezeichen leiten den Tag ein und schließen ihn wieder. Diese Trennzeichen weisen auf eine PI (Processing Instruction) hin – in diesem Fall auf die verwendete XML-Version. Manchmal werden die Tags in der Literatur als das Markup des Dokuments, als Prolog oder als XML-Deklaration bezeichnet: <?xml version="1.0"?><Bolte> ist das Markup, während »Spitz, das war ihr erstes Wort« Text (oder allgemeiner CDATA) darstellt. Doch dazu gleich noch mehr.

»xml« in der XML-Deklaration muss in Kleinbuchstaben geschrieben werden. Zurzeit darf dort nur die Version 1.0 stehen. Einige Browser, wie beispielsweise der Internet Explorer, zeigen ein XML-Dokument auch ohne Versionsnummer an. Allerdings ist dies nicht korrekt.

Der öffnende und schließende <Bolte>-Tag erinnert an HTML und ist sicherlich von dort bekannt:

<H1 Align=center>Witwe Bolte.</H1>

Allerdings weisen HTML-Tags einige Unterschiede zur ersten Zeile in XML auf:

Der Name (oder Bezeichner) des Tags (<Bolte>) ist frei definiert. Er muss mit einem Buchstaben oder einem Unterstrich beginnen und darf nur gültige Zeichen (»name characters«) enthalten. Das sind Buchstaben, Ziffern und Unterstriche. Umlaute, das »ß«, Satz- und Sonderzeichen sind verboten. Eigentlich sind auch Doppelpunkte zugelassen; allerdings ist der Doppelpunkt für einen Namensraum reserviert. Deshalb sollten Sie Doppelpunkte vermeiden. Die ersten drei Buchstaben dürfen nicht »xml« oder »XML« sein – sie sind reserviert.

Ein gültiger Name ist folglich:

Busch
Wilhelm_Busch
WBUSCH1877

Falsch ist dagegen:

W.Busch
*Busch*
Wilhelm Busch
Abbildung

Abbildung 10.2   Das Tag enthält einen ungültigen Namen: »Witwe Bolte«.

Tags umschließen immer Elemente. Ein Element besteht immer aus einem Start-Tag und einem End-Tag. End-Tags werden durch einen Schrägstrich gekennzeichnet: </Bolte>. Elemente können andere Elemente, Zeichen (»character data«), Zeichenreferenzen, Entity-Referenzen, Verarbeitungsanweisungen (PIs), Kommentare oder CDATA-Abschnitte enthalten. Sie werden im Einzelnen noch erläutert.

Groß- und Kleinschreibung spielt eine Rolle. Der Anfangs-Tag <Bolte> wird mit </Bolte>, <BOLTE> mit </BOLTE> und <bolte> wird mit </bolte> beendet. Alles andere führt zu Fehlern. Am besten ist es, wenn Sie sich auf eine Schreibweise festlegen und diese konsequent durchhalten. Der Grund liegt in der Internationalisierung von XML: Die meisten romanischen Sprachen teilen ihr Alphabet nicht streng in Groß- und Kleinbuchstaben auf (mein Vorname wird im Spanischen RENÉ geschrieben, im Französischen RENE), das griechische Sigma hat zwei Varianten für den Kleinbuchstaben und im Arabischen unterscheiden sich die Buchstaben nach der Position im Wort (Anfang, Mitte, Ende – von links oder rechts verbunden oder unverbunden) und nicht nach Groß- und Kleinschreibung. Aufgrund von Problemen, die daraus entstehen könnten, wird in XML zwischen Groß- und Kleinschreibung unterschieden.

Abbildung

Abbildung 10.3   Groß- und Kleinschreibung müssen eingehalten werden!

Jedes Anfangs-Tag hat ein Schlusstag. Anders als HTML, wo <P>, <BR> oder <IMG> nicht beendet werden müssen, muss in XML jedes Tag ein Pendant am Ende besitzen. Eine Ausnahme bildet die erste Zeile (oder allgemein: jede Processing Instruction):

<?xml version="1.0"?>

Um zu überprüfen, ob Sie Ihr Dokument korrekt erstellt haben, können Sie es im Internet Explorer öffnen. Entweder per Doppelklick auf den Dateinamen im Explorer oder direkt im Explorer über das Menü Datei Öffnen.

Beachten Sie die unterschiedlichen Farben: In Blau werden Verarbeitungsanweisungen dargestellt, in Braun stehen die Namen der Tags und in Schwarz die Texte.


Galileo Computing

10.1.1 Weitere Tags  downtop

Es wäre langweilig, wenn Datenbanken nur aus einem Datensatz oder Bücher nur aus einem Absatz bestehen würden. Es ist gar keine Frage, dass das Dokument mehrere Tags, das heißt mehrere Elemente, beinhalten kann. Aber für sie gibt es Regeln:

<Buch>
   <Titel>Die fromme Helene</Titel>
</Buch>

Angenommen, in einem Dokument existieren die beiden Tags »Buch« und »Titel«. Es fällt auf, dass »Buch« als Element »Titel« besitzt, »Titel« dagegen Daten enthält. Man nennt das unterste Tag »Wurzelelement« (Root Element), alle weiteren, die darauf aufbauen, sind die Unter-Tags oder Kindelemente. Damit ergibt sich eine weitere Regel für die Tags:

gp  Tags sind hierarchisch strukturiert.
gp  Untergeordnete Tags sind immer vollständig in übergeordneten eingeschlossen. Beispielsweise so:
<Buch>
   <Titel>Die fromme Helene</Titel>
</Buch>
Niemals so:
<Buch>
   <Titel>Fips, der Affe
</Buch>
</Titel>

Die letztere Variante mag in HTML funktionieren, in XML nicht.

gp  Jedes XML-Dokument darf nur ein Wurzelelement besitzen.
gp  Jedes XML-Dokument besitzt ein Wurzelelement.

Zwar könnte man sich ein leeres Dokument vorstellen oder ein XML-Dokument, das nur aus Processing Instructions oder nur aus Kommentaren besteht, aber gemäß der XML-Definition ist es dann kein gültiges XML-Dokument.

Die Einrückungen werden im Buch wegen der besseren Lesbarkeit vorgenommen. Sie müssen nicht sein – man müsste noch nicht einmal eine neue Zeile beginnen, sondern könnte die gesamten Elemente in einer Zeile schreiben (was die Lesbarkeit und Erlernbarkeit nicht gerade erhöht). Alle Leerräume zwischen Tags und Werten von Attributen werden von Parsern nicht beachtet. Dazu gehören Leerzeichen, Absatzzeichen (CR), Zeilenvorschub (LF) und Tabulatoren. Das bedeutet, dass folgendes Dokument

<Buch><Titel>Die fromme Helene</Titel></Buch>

äquivalent ist mit dem nächsten:

<Buch>
   <Titel>Die fromme Helene</Titel>
</Buch>

Ein Element kann auch leer sein. Dann kann einfach kein Text zwischen den Tags stehen

<Titel></Titel>

oder es kann in einem Tag geschrieben werden, welches durch einen Schrägstrich am Ende gekennzeichnet wird:

<Titel/>

Mit diesem Wissen können nun komplexe XML-Dokumente aufgebaut werden:

<?xml version="1.0"?>
<Buch>
   <Nummer>101</Nummer>
   <Titel>Magnus Hirschfeld</Titel>
   <Gruppe>Biografie</Gruppe>
   <Preis>24,90</Preis>
</Buch>
Abbildung

Abbildung 10.4   Ein gültiges Dokument

Das Wurzelelement lautet »Buch«, es enthält die vier Unterelemente »Nummer«, »Titel«, »Gruppe« und »Preis«, die gleichberechtigt nebeneinander stehen und alle Daten beinhalten. So können mehrere Elemente hintereinander stehen und in beliebig vielen Ebenen verschachtelt werden:

<?xml version="1.0"?>
<Artikel>
   <Buch>
      <Nummer>101</Nummer>
      <Titel>Magnus Hirschfeld</Titel>
      <Gruppe>Biografie</Gruppe>
      <Preis>24,90</Preis>
   </Buch>
   <Buch>
      <Nummer>102</Nummer>
      <Titel>Karl Heinrich Ulrichs</Titel>
      <Gruppe>Biografie</Gruppe>
      <Preis>29,90</Preis>
   </Buch>
</Artikel>
Abbildung

Abbildung 10.5   Das Wurzelelement »Artikel« beinhaltet nun zwei Tags »Buch«.


Galileo Computing

10.1.2 Der Zeichensatz  downtop

Bislang habe ich Umlaute vermieden. Damit die deutschen Umlaute korrekt dargestellt werden, muss die ISO-Norm 8859-1 verwendet werden. Mit ihr können alle nord-, west-, mittel- und südeuropäischen Sprachen dargestellt werden. Sie entspricht dem alten ASCII-Code. Dieser Standard wird im Prolog folgendermaßen eingegeben:

<?xml version="1.0" encoding="ISO-8859-1"?>

Das Attribut »encoding« enthält den korrekten ISO-Standard, der Umlaute und das »ß« in der Darstellung des Browsers ermöglicht.

Abbildung

Abbildung 10.6   Nun werden die Umlaute korrekt dargestellt.

Weitere Sprachen werden in folgender Tabelle aufgelistet:

Tabelle 10.1   Die von XML unterstützten Sprachen
Standard Zeichensatz
ISO-8859-1 Westeuropa, Lateinamerika (Latein-1)
ISO-8859-2 Osteuropa (Latein-2)
ISO-8859-3 Südeuropa, restliche europäische Sprachen (Latein-3)
ISO-8859-4 Skandinavien, Baltikum (Latein-4)
ISO-8859-5 Kyrillisch
ISO-8859-6 Arabisch
ISO-8859-7 Griechisch
ISO-8859-8 Hebräisch
ISO-8859-9 Türkisch
ISO-8859-10 Lappland, Eskimo
EUC_JP Japanisch I
Shift_JIS Japanisch II
ISO-2022-JP Japanisch III


Galileo Computing

10.1.3 Abkürzungen  downtop

Einige Zeichen können nicht direkt eingegeben werden. Dazu gehören »&«, »<«, »>«, »'« und »"«. Eine Zeile

<Titel>Max & Moritz</Titel>

liefert eine Fehlermeldung. Dafür stehen einige Zeichenreferenzen zur Verfügung:

Tabelle 10.2   Einige Zeichen und ihre Referenzen (die vollständige Liste)
Zeichen Darstellung
& &amp;
< &lt;
> &gt;
' &apos;
» &quot;

Damit kann der obige Buchtitel folgendermaßen korrekt dargestellt werden:

<Titel>Max &amp; Moritz</Titel>

Galileo Computing

10.1.4 CDATA-Abschnitte  downtop

Angenommen, Sie haben nicht nur einige wenige Zeichen, die Sie durch Zeichenreferenzen darstellen möchten. Dann kann man dem Parser explizit sagen, dass bestimmte Bereiche des XML-Dokuments ausgespart werden. Dies ist beispielsweise dann interessant, wenn Sie JavaScript-Code im XML-Dokument eingefügt haben, das allerdings wegen der Ungleichheitszeichen nicht geparst werden soll. Die Darstellung sieht folgendermaßen aus:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Artikel>
   <![CDATA[
   <Buch>
      <Nummer>12</Nummer>
      <Titel>Loriot's Wum & Wendelin</Titel>
      <Gruppe>Unterhaltung</Gruppe>
   </Buch>
   <Buch>
      <Nummer>13</Nummer>
      <Titel>Loriot's Heile Welt</Titel>
      <Gruppe>Unterhaltung</Gruppe>
   </Buch>
   ]]>
</Artikel>

Beim Parsen werden nun die beiden Kindelemente des Elements <Buch> übergangen, was der Internet Explorer zeigt:

Abbildung

Abbildung 10.7   Ein Dokument mit einem CDATA-Abschnitt


Galileo Computing

10.1.5 Kommentardowntop

So wie Sie an beliebigen Stellen Absatzzeichen eingeben können, können Sie auch an beliebigen Positionen des XML-Dokuments Kommentare einfügen. Sie beginnen jeweils mit einem <!-- und enden mit -->. Also beispielsweise:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- **** Dieses Dokument ist für die deutsche Sprache geeignet 
und folgt den Konventionen der Version 1.0. ****  -->

<!-- **** Und nun die eigentlichen Daten **** -->
<Autorenliste>

<!-- **** Der erste Datensatz **** -->
   <Autor>
      <Zuname>Twain</Zuname>
      <Vorname>Marc</Vorname>
   </Autor>

<!-- **** Der zweite Datensatz **** -->
   <Autor>
      <Zuname>Melville</Zuname>
      <Vorname>Hermann</Vorname>
   </Autor>

<!-- **** Der dritte Datensatz **** -->
   <Autor>
      <Zuname>Steinbeck</Zuname>
      <Vorname>John</Vorname>
   </Autor>

</Autorenliste>
Abbildung

Abbildung 10.8   Ein Dokument mit Kommentaren

Kommentare dürfen dort im Text stehen, wo Text erlaubt ist. Am besten eignet sich die Stelle zwischen den Tags. Am Anfang eines Dokuments sind Kommentare verboten, ebenso wie innerhalb eines Tags ein Kommentar nicht erlaubt ist. Kommentare dürfen sich über mehrere Zeilen erstrecken. Da manche Browser, zum Beispiel der Internet Explorer, Kommentare anzeigen, sollten Sie die Kommentare vor dem Veröffentlichen des XML-Dokuments wieder löschen.

Übrigens dürfen Kommentare sogar Zeichen wie »<« beinhalten. Schließlich wird der Kommentar nicht verarbeitet.

Kommentare können – genau wie in der Programmierung – verwendet werden, um Teile eines Dokuments temporär auszublenden. Wenn Sie »John Steinbeck« nicht mögen, dann schalten Sie ihn aus.


Galileo Computing

10.1.6 Attributdowntop

Ebenso wie in HTML können Tags Attribute besitzen. So besitzt beispielsweise das Tabellen-Tag

<table border="0" width="100  %" height="219" 
bordercolor="#FF0000">

in HTML die Attribute »border«, »width«, »height« und »bordercolor«. Das Gleiche gilt für die XML-Tags. Dort kann beispielsweise ein Telefon geschäftlich oder privat sein.

Im XML-Dokument sieht das folgendermaßen aus:

<Telefon art="geschäftlich">

Für die Namen der Attribute gelten die gleichen Regeln wie für die Namen der Tags: Sie beginnen mit einem Buchstaben und dürfen Buchstaben, Zahlen, Unterstriche und Bindestriche beinhalten. Die Werte der Attribute sind immer Text und werden immer in Anführungszeichen (einfachen oder doppelten) gesetzt.

Beispiele hierzu sind sicherlich von HTML bekannt. Das Tag <IMG> gibt an, dass ein Bild angezeigt wird. Das Attribut <SRC> gibt den Namen (und die Quelle) des Bilds an. Es ist zwingend notwendig, da es der Hauptbestandteil des Tags ist. Weniger wichtig sind beschreibende Attribute wie WIDTH und HEIGHT. Sie können eingefügt werden (um ein Bild zu vergrößern oder zu verkleinern), aber auch fehlen.


Galileo Computing

10.1.7 Mehr als zwei Möglichkeiten bei Attributen  downtop

Selbstverständlich sind mehr als zwei Möglichkeiten zugelassen. Die Liste kann (fast) beliebig erweitert werden:

xml:lang

Als nützlich kann sich das Attribut »xml:lang« erweisen. Mit seiner Hilfe kann eine Sprache festgelegt werden. Dies ist dann interessant, wenn mehrere Sprachen (und damit auch mehrere unterschiedliche Sonderzeichen) in einem Dokument vorkommen. Beispielsweise in folgendem Dokument:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Die_Geschichte_vom_fliegenden_Robert>
   <Deutsch>
      <Z xml:lang="de">Wenn der Regen niederbraust,</Z>
      <Z xml:lang="de">wenn der Sturm das Feld durchsaust,</Z>
      <Z xml:lang="de">bleiben Mädchen oder Buben</Z>
      <Z xml:lang="de">hübsch daheim in ihren Stuben.</Z>
   </Deutsch>
   <Englisch>
      <Z xml:lang="en">When the rain and wind are strong,</Z>
      <Z xml:lang="en">when the storm roars loud and long</Z>
      <Z xml:lang="en">girls and boys at home abide</Z>
      <Z xml:lang="en">snug and warm by their fireside.</Z>
   </Englisch>
   <Französisch>
      <Z xml:lang="fr">Quand aux champs l'orage gronde,</Z>
      <Z xml:lang="fr">qu'il pleut partout à la ronde,</Z>
      <Z xml:lang="fr">les filles et les garçons</Z>
      <Z xml:lang="fr">demeurent à la maison.</Z>
   </Französisch>
   <Spanisch>
      <Z xml:lang="es">Cuando en días de tormenta</Z>
      <Z xml:lang="es">la lluvia azota, violenta,</Z>
      <Z xml:lang="es">los campos y la ciudad</Z>
      <Z xml:lang="es">los niños de corta edad</Z>
      <Z xml:lang="es">deben quedarse en su cuarto.</Z>
   </Spanisch>
   <Italienisch>
      <Z xml:lang="it">Quando giù la pioggia scroscia</Z>
      <Z xml:lang="it">ed il vento i campi affloscia</Z>
      <Z xml:lang="it">le fanciulle e i bambinetti</Z>
      <Z xml:lang="it">stanno in casa ben protetti.</Z>
   </Italienisch>
   <Lateinisch>
      <Z xml:lang="la">Pluviae cum defluunt,</Z>
      <Z xml:lang="la">venti campos perstrepunt</Z>
      <Z xml:lang="la">tum et puer et puella</Z>
      <Z xml:lang="la">domi maneant in cella!</Z>
   </Lateinisch>
</Die_Geschichte_vom_fliegenden_Robert>
Abbildung

Abbildung 10.9   Nun werden alle Sprachen korrekt dargestellt.

Im Folgenden eine kleine Auswahlliste des ISO-639-Sprachcodes:

Tabelle 10.3   Der ISO-639-Sprachcode
Code Sprache Code Sprache Code Sprache
ar Arabisch fr Französisch nl Holländisch
ch Chinesisch gr Griechisch no Norwegisch
cs Tschechisch hr Kroatisch pl Polnisch
da Dänisch hu Ungarisch pt Portugiesisch
de Deutsch is Isländisch ro Rumänisch
en Englisch it Italienisch ru Russisch
es Spanisch ja Japanisch sv Schwedisch
fi Finnisch la Lateinisch tr Türkisch

Oft ist es für Web-Suchmaschinen praktisch, wenn die Sprache zum Inhalt angegeben ist. Deshalb können sogar Sprach-Subcodes verwendet werden:

   <Sahne>
      <Begriff xml:lang="de-DE">Schlagsahne</Begriff>
      <Begriff xml:lang="de-CH">Schlagrahm</Begriff>
      <Begriff xml:lang="de-AT">Schlagobers</Begriff>
   </Sahne>

Die folgende Liste gibt einige der Länderspezifikationen wieder:

Tabelle 10.4   Der ISO-3166-Ländercode
Code Land Code Land Code Land
AU Australien GR Griechenland PL Polen
AT Österreich HU Ungarn PT Portugal
BE Belgien IS Island RO Rumänien
CA Kanada IN Indien RU Russland
CN China IE Irland SK Slowakei
HR Kroatien IL Israel ES Spanien
CY Zypern IT Italien SE Schweden
CZ Tschechien JP Japan CH Schweiz
DK Dänemark LI Liechtenstein TR Türkei
FI Finnland LU Luxemburg GB Großbritannien
FR Frankreich NL Niederlande US USA
DE Deutschland NO Norwegen YU Jugoslawien


Galileo Computing

10.1.8 Ein Attribut oder mehrere Attribute im Dokument  downtop

Die Elemente können mit mehreren Attributen zum Beispiel so aussehen:

<Buch Kategorie="Koch- und Backbuch">Südamerikanische Küche</Buch>
<Buch Kategorie="EDV">Berechnungen in Excel</Buch>
<Buch Kategorie="Telefonbuch">Gelbe Seiten</Buch>

Achten Sie dabei auf die korrekten Anführungszeichen bei den Attributen:

<Telefon art="Festanschluss">4712</Telefon>

Übrigens könnte das Attribut auch in einfachen Anführungszeichen geschrieben werden:

      <Telefon art='Handy' ort='an Bord der Pequod' inhaber='Ishmael'>4713</Telefon>

Da XML nur Text verwaltet, müssen Attribute – anders als in HTML – in Anführungszeichen geschrieben werden. Was in HTML so lautet

<img border=0 src="S12.jpg" usemap="#FPMap0" width=600 height=480>

muss in XML wie folgt geschrieben werden:

<img border=0 src="S12.jpg" usemap="#FPMap0" width="600" height="480">

Galileo Computing

10.1.9 Attribut oder Element?  downtop

Vielleicht fragen Sie sich, warum überhaupt mit Attributen gearbeitet wird. Man könnte ein Buchelement, das folgenden Tag besitzt

<Buch Titel="VB.net lernen" Autor="Rene Martin" 
Verlag="Galileo Press" ISBN="3-8984-2227-1"/>

auch folgendermaßen schreiben:

<Buch>
   <Titel> VB.net lernen </Titel>
   <Autor>Rene Martin</Autor>
   <Verlag>Galileo Press</Verlag>
   <ISBN>3-8984-2227-1</ISBN>
</Buch>

Über diese Frage ist schon viel geschrieben und diskutiert worden. Es gibt allerdings einige – wenn auch schwache – Argumente für oder gegen die eine oder die andere Schreibweise. Für Attribute sprechen folgende Argumente:

gp  Die Anzahl der Zeichen ist geringer, was sich bei sehr großen Datenmengen bemerkbar machen kann.

Nachteile der Attribute:

gp  Man kann Attribute nicht schachteln.
gp  Attribute haben keine festgelegte Reihenfolge.
gp  Viele Attribute sind vom Menschen schwer zu lesen.

Vorteile der Kindelemente:

gp  Eine Schachtelung ist möglich.
gp  Durch Entitäten können sich wiederholende Werte abgekürzt werden.
gp  Viele Kindelemente können vom Menschen noch immer gut gelesen werden.

Die Nachteile von Kindelementen:

gp  Der Platzverbrauch erhöht sich leicht.
gp  Kindelemente sind etwas schwieriger zu programmieren.

Galileo Computing

10.1.10 Zusammenfassung von XML  toptop

Damit sind die wichtigsten Punkte beschrieben, die ein gültiges XML-Dokument ausmachen. Jedes XML-Dokument beginnt mit einem so genannten Prolog. Darin befindet sich die XML-Deklaration:

<?xml version="1.0"?>

Für uns Deutsch schreibende Menschen ist die Deklaration des Ländercodes wichtig:

<?xml version="1.0" encoding="ISO-8859-1"?>

Das Dokument ist aus Elementen aufgebaut. Der Inhalt der Elemente wird durch Tags umschlossen. Der Anfangs-Tag muss gleich lauten wie der End-Tag – auch die Groß- und Kleinschreibung muss bei beiden die gleiche sein. Ein Tag beginnt mit einer spitzen, öffnenden Klammer und endet mit einer spitzen, schließenden Klammer. Das End-Tag unterscheidet sich vom Anfangs-Tag durch einen Schrägstrich.

Jedes XML-Dokument besitzt ein Wurzelelement. Alle anderen Elemente sind – streng hierarchisch – darauf aufgebaut. Ein Element umschließt ein anderes Element immer vollständig – Verschränkungen gibt es in XML nicht.

Ein leeres Element wird als einfacher Tag durch einen Schrägstrich am Ende gekennzeichnet. Das Dokument kann Kommentare beinhalten. Elemente können Kommentare einschließen.

Für die Namen der Tags und Attribute gelten die üblichen – strengen – Regeln. Nur Buchstaben und Zahlen können verwendet werden.

  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML