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
|