Beispiel: Dokument des Training Maschinenbordbuch-BeispielXML
|
<?xml version='1.0'?>
<DOCTYPE training system'etml.dtd'>
<training>
<session date='11/10/05' type='running' heartrate='158'>
<duration units="minutes">45 </duration>
<distance units="miles">4.5 </distance>
<location>west Park </location>
<comments>little wind through out</comment>
</session>
<session date='11/11/05' type='cycling' heartrate='153'>
<duration units="hours">2.5 </duration>
<distance units="miles">37 </distance>
<location> Trace Parkway </location>
<comments>afternoon run</comment>
</session>
<session date='11/24/05' type='cycling' heartrate='153'>
<duration units="hours">1.5 </duration>
<distance units="miles">8.5 </distance>
<location> Warner Park </location>
<comments>afternoon run</comment>
</session>
</training>
|
Beschreibung:
|
Das grundlegendste der XPath Muster ist das Muster, das den gegenw�rtigen Nullpunkt bezieht, der aus einem Periode Zeichen besteht:
.
Eine Periode erreicht das gegenw�rtige node.when, das du einen Dokumentbaum �berquerst. So ist gegenw�rtiges Nullpunktmuster folglich ein relatives Muster, weil es sinnvoll nur im Kontext eines Baums von Daten ist. W�hrend ein Kontrast zum gegenw�rtigen Muster, das relativ ist, das Muster betrachten, das benutzt wird, um den Wurzelnullpunkt eines Dokumentes vorzuw�hlen. Dieses Muster wird als Wurzelmuster benannt und aus einem einzelnen Vorw�rtsschr�gstrich besteht:
/
Wenn du einen einzelnen Vorw�rtsschr�gstrich in einem Ausdruck f�r das Training Maschinenbordbuchbeispieldokument verwendest, w�rde es auf sich das trainlog Element beziehen, weil dieses Element das Wurzelelement des Dokumentes ist. Weil das Wurzelmuster direkt eine spezifische Position in einem Dokument (der Wurzelnullpunkt) bezieht, gilt es auch als ein absolutes Muster. Das Wurzelmuster ist zu XPath extrem wichtig, weil es den Ausgangspunkt des Nullpunktbaums des Dokumentes darstellt.
Wenn es gibt, m�ssen Kindnullpunkte dort Elternteilnullpunkte auch sein. Um einen Elternteilnullpunkt zug�nglich zu machen, mu�t du zwei Perioden verwenden:
..
Als Beispiel wenn der gegenw�rtige Kontext eins der Abstand Elemente dann im Training Maschinenbordbuchdokument ist. Elternteilmuster bezieht das Elternteil des Nullpunktes, der ein Lernabschnitt element ist. Du kannst die Muster zusammenf�gen, um interessantere Resultate zu erhalten. z.B., um einen Geschwisternullpunkt zu adressieren, mu�t du zum Elternteil zuerst gehen und beziehst dann die Geschwister als Kind. Das hei�t, benutzt du das Elternteilmuster (.) gefolgt von einem Vorw�rtsschr�gstrich (/) folgte vom Geschwisternamen, so:
../duration
Dieses Muster nimmt an, da� der Kontext eins der Kindelemente des Lernabschnitt elements ist (anders als Dauer). Diesen Kontext annehmend, bezieht das ../duration Muster das Dauer element als Geschwisternullpunkt.
Bis jetzt habe ich auf das Beziehen der einzelnen Nullpunkte konzentriert. Jedoch ist es auch m�glich, mehrfache Nullpunkte vorzuw�hlen. Z.B. kannst du alle Kindnullpunkte (Nachkommen) eines gegebenen Nullpunktes mit dem doppelten Schr�gstrichmuster vorw�hlen:
//
Als Beispiel wenn der Kontext eins der Lernabschnitt elemente im Training Maschinenbordbuch document.e.g. ist, kannst du alle seine Kindnullpunkte vorw�hlen, indem Sie doppelte Schr�gstriche verwenden. Dieses ergibt die Dauer . , Abstand , Position und Anmerkungen Elemente, die vorgew�hlt werden.
Eine andere Weise, mehrfache Nullpunkte vorzuw�hlen ist, das Wildcardmuster zu benutzen, das ein Sternchen ist:
*
Das Wildcardmuster w�hlt alle Nullpunkte in einem gegebenen Kontext vor. So wenn der Kontext ein Lernabschnitt element war und du das Muster */distance benutztest, w�rden alle Abstand Elemente im Dokument vorgew�hlt. Dieses tritt auf, weil das Wildcardmuster erstes alle Geschwisterlernabschnitt elemente ergibt, die vorgew�hlt werden, nachdem wird die Vorw�hler auf die Kindabstand Elemente begrenzt.
Um zusammenzufassen, sind die Prim�rbausteine folgend, die benutzt werden um Nullpunkte in XPath zu beziehen:
- Gegenw�rtiger Nullpunkt
.
- Wurzelnullpunkt
- Elternteilnullpunkt
.
- Kind NullpunktKind
- Geschwister node-/Sibling
- Alle Kindnullpunkte
- Alles nodes-*
|
Beziehen der Teilmengen und der Attribute
|
Elemente sind nicht nur wichtige Information in den XML Dokumenten; es ist auch kann Bezugsattribute wichtig. Gl�cklicherweise bildet XPath es ziemlich einfach, Attribute zu beziehen, indem er �� am Symbol verwendet:
@
Am Symbol wird verwendet, Attribute zu beziehen, indem man einen Attributnamen vorangeht:
*/distance/@units
Dieser Code w�hlt alle Ma�einheiten Attribute f�r Abstand Elemente im Training Maschinenbordbuchdokument vor und annimmt, da� der Kontext eins der Lernabschnitt elemente ist. Wie du sehen kannst, passen Attribute nach rechts in die Wegdarstellung, die von XPath benutzt wird und werden auf die gleiche Weise als Elemente, mit der Hinzuf�gung von (@) bezogen am Symbol.
Eine andere wichtige Eigenschaft der XPath Ausdr�cke ist Unterst�tzung f�r die Vorw�hler der Teilmengen Nullpunkte. Du w�hlst eine Teilmenge vor, indem Sie eckige Klammern ([]) zum Ende eines Musters und dann einen Ausdruck innerhalb der Haltewinkel hinzuf�gen setzen, der die Teilmenge definiert. Als Beispiel das folgende Muster betrachten, das alle Lernabschnitt elemente im Training Maschinenbordbuchdokument vorw�hlt: */session Es ist, da� du die Lernabschnitt elemente auf eine bestimmte Art Training Lernabschnitt begrenzen w�nschen konntest, wie Laufen m�glich. Um dies zu tun, f�gst du eckige Klammern auf das Muster hinzu, und du verursachst einen Ausdruck der �berpr�ft um zu sehen wenn die Lernabschnittart auf das Laufen eingestellt wird:
*/session [' laufendes' @type=]
Dieses Muster ergibt das Vorw�hlen nur der Lernabschnitt elemente deren Art Attribut auf das Laufen eingestellt wird. Beachten, da� am Symbol (@) vor dem Attributnamen (Art) verwendet wird anzuzeigen da� es ein Attribut ist. Du kannst Elemente durch Index auch adressieren, da der folgende Ausdruck zeigt:
/session [1]
Dieser Ausdruck w�hlt das erste Lernabschnitt element im Dokument vor.
|
|
|
Keywords: XPath Examples,
xpath query examples,
xslt example,
xslt examples,
xpath example,
xsl example,
xsl examples,
xquery examples,
xquery example,
xpath vb net,
xpath starts with,
asp net xpath,
xml xslt example,
java xpath example,
xml xsl example,
vb net examples,
asp net examples,
xsl fo examples,
xpath case insensitive,
xml xpath example,
xsl fo example,
xpath query example,
xalan example,
java xslt example,
xpath tutorial,
xpath sample,
xml examples,
xpath syntax,
xpath namespace,
xpath reference,
xpath expressions,
xpath c# ,
xpath namespaces,
xpath xml,
selectsinglenode xpath,
xpath functions,
xpath query,
xpath attribute
|