___ qstntxt ___

Grundsätzlich muss ich etwas Text schaben, der geschachtelte Tags hat.

In etwa so:

%Vor%

Und ich möchte einen Ausdruck, der das hervorbringt:

%Vor%

Ich habe damit für eine Stunde oder mehr gekämpft, ohne Ergebnis.

Jede Hilfe ist willkommen

    
___ answer10424209 ___

Der Zeichenfolgenwert eines Elementknotens ist die Verkettung der Zeichenfolgenwerte von all Textknoten-Nachkommen des Elementknotens in der Reihenfolge des Dokuments.

Sie möchten die Funktion XPath %code% für das Element div aufrufen.

%Vor%

Sie können auch die Funktion normalize-space verwenden, um unerwünschte Leerzeichen zu reduzieren aufgrund von Zeilenumbrüchen und Einrückungen im Quelldokument. Dadurch werden führende und nachfolgende Leerzeichen entfernt und Sequenzen von Leerzeichen durch ein einzelnes Leerzeichen ersetzt. Wenn Sie einen Knoten an normalize-space () übergeben, wird der Knotensatz zuerst in den Zeichenfolgenwert konvertiert. Wenn keine Argumente an normalize-space übergeben werden, wird der Kontextknoten verwendet.

%Vor%

Vielleicht möchten Sie den Kontextknoten effizienter auswählen als den Beispiel-XPath, den ich verwendet habe. ZB kann das folgende Javascript-Beispiel in einigen Browsern gegen diese Seite ausgeführt werden.

%Vor%

Der Leerzeichen-Nur-Text-Knoten zwischen den Elementen %code% und %code% könnte ein Problem sein.

    
___ tag123xpath ___ Der Hauptzweck von XPath besteht darin, Teile eines XML-Dokuments zu adressieren. Es bietet auch grundlegende Möglichkeiten für die Manipulation von Strings, Zahlen und Booleans. XPath verwendet eine kompakte Nicht-XML-Syntax. XPath arbeitet an der abstrakten, logischen Struktur eines XML-Dokuments und nicht an seiner Oberflächensyntax. ___ answer10424386 ___

Verwenden Sie :

%Vor%

Wenn dieser Ausdruck ausgewertet wird, ist das Ergebnis der Zeichenfolgenwert des ersten (und hoffentlich einzigen) Elements %code% im Dokument.

Da der Zeichenfolgenwert eines Elements in der XPath-Spezifikation definiert ist als Verkettung in der Reihenfolge der Dokumente aller Textknoten-Nachkommen, dies ist genau die gewünschte Zeichenfolge.

Da dies eine Anzahl von Textknoten mit vollständigem Leerraum enthalten kann, möchten Sie möglicherweise den angrenzenden weißen und den nachfolgenden Leerraum entfernen und einen solchen Zwischen-Leerraum durch ein einzelnes Leerzeichen ersetzen:

Verwenden Sie :

%Vor%

XSLT-basierte Verifizierung:

%Vor%

, wenn diese Umwandlung auf das bereitgestellte XML-Dokument angewendet wird:

%Vor%

Die beiden XPath-Ausdrücke werden ausgewertet und die Ergebnisse dieser Auswertungen werden in die Ausgabe kopiert:

%Vor%     
___ answer10424664 ___

Wie wäre es damit:

/ div / text () [1] | / div / span / Text () | / div / b / Text () | / div / text () [2]

Hmmss Ich bin mir nicht sicher über den letzten Teil. Du musst vielleicht damit spielen.

    
___ ___ qstnhdr XPath-Ausdruck für den gesamten Text in einem gegebenen Knoten auswählen und den Text seines chldren ___

8

Grundsätzlich muss ich etwas Text schaben, der geschachtelte Tags hat.

In etwa so:

%Vor%

Und ich möchte einen Ausdruck, der das hervorbringt:

%Vor%

Ich habe damit für eine Stunde oder mehr gekämpft, ohne Ergebnis.

Jede Hilfe ist willkommen

    
Martin Taleski 03.05.2012, 02:01
quelle

3 Antworten

17

Der Zeichenfolgenwert eines Elementknotens ist die Verkettung der Zeichenfolgenwerte von all Textknoten-Nachkommen des Elementknotens in der Reihenfolge des Dokuments.

Sie möchten die Funktion XPath string() für das Element div aufrufen.

%Vor%

Sie können auch die Funktion normalize-space verwenden, um unerwünschte Leerzeichen zu reduzieren aufgrund von Zeilenumbrüchen und Einrückungen im Quelldokument. Dadurch werden führende und nachfolgende Leerzeichen entfernt und Sequenzen von Leerzeichen durch ein einzelnes Leerzeichen ersetzt. Wenn Sie einen Knoten an normalize-space () übergeben, wird der Knotensatz zuerst in den Zeichenfolgenwert konvertiert. Wenn keine Argumente an normalize-space übergeben werden, wird der Kontextknoten verwendet.

%Vor%

Vielleicht möchten Sie den Kontextknoten effizienter auswählen als den Beispiel-XPath, den ich verwendet habe. ZB kann das folgende Javascript-Beispiel in einigen Browsern gegen diese Seite ausgeführt werden.

%Vor%

Der Leerzeichen-Nur-Text-Knoten zwischen den Elementen span und b könnte ein Problem sein.

    
Lachlan Roche 03.05.2012, 02:13
quelle
0

Verwenden Sie :

%Vor%

Wenn dieser Ausdruck ausgewertet wird, ist das Ergebnis der Zeichenfolgenwert des ersten (und hoffentlich einzigen) Elements div im Dokument.

Da der Zeichenfolgenwert eines Elements in der XPath-Spezifikation definiert ist als Verkettung in der Reihenfolge der Dokumente aller Textknoten-Nachkommen, dies ist genau die gewünschte Zeichenfolge.

Da dies eine Anzahl von Textknoten mit vollständigem Leerraum enthalten kann, möchten Sie möglicherweise den angrenzenden weißen und den nachfolgenden Leerraum entfernen und einen solchen Zwischen-Leerraum durch ein einzelnes Leerzeichen ersetzen:

Verwenden Sie :

%Vor%

XSLT-basierte Verifizierung:

%Vor%

, wenn diese Umwandlung auf das bereitgestellte XML-Dokument angewendet wird:

%Vor%

Die beiden XPath-Ausdrücke werden ausgewertet und die Ergebnisse dieser Auswertungen werden in die Ausgabe kopiert:

%Vor%     
Dimitre Novatchev 03.05.2012 02:39
quelle
0

Wie wäre es damit:

/ div / text () [1] | / div / span / Text () | / div / b / Text () | / div / text () [2]

Hmmss Ich bin mir nicht sicher über den letzten Teil. Du musst vielleicht damit spielen.

    
Sara 03.05.2012 03:24
quelle

Tags und Links