2009-07-21 5 views
1

Ich versuche, Daten abzurufen, die außerhalb von Elementblöcken liegen.

Probe;Daten zwischen Elementen

<td> 
    <b>abc</b> 123 <b>def</b> 456 <b>ghi</b> 
</td> 

aus dieser Probe So würde Ich mag die 123 und 456.

Auf dieser Website erhalten fand ich einige Proben mit einem nicht() und das scheint ein wenig in der richtigen Richtung zu arbeiten, aber dann 123 & 456 werden entfernt, weil er nur die "anderen Elemente" zeigt.

So /td/.[not(b)] wird keine Ergebnisse überhaupt geben.

Wie kann ich das Datum, das nicht in einem Element ist, erneut erstellen?

Wenn ich nur /td verwende, werden die Daten außerhalb eines Elements angezeigt.

Vielen Dank im Voraus,
        Edwin

+1

Sie gehen zu müssen, klären, was Sie consdier „außerhalb Elementblocks“ zu sein, weil in Ihrem Beispiel 123 und 456 sind beide in Ihrem . – MyItchyChin

+0

ich denke, es ist ziemlich offensichtlich, was er will. – geowa4

Antwort

1

Sie müssen text() verwenden. Siehe here for an example, das ist fast identisch mit Ihrer Situation.

+0

Danke! das war genau das, wonach ich suche. – Edwin

1

Sie sollten in XML Node Types suchen, können Sie angeben, nur Textknoten auswählen. Zum Beispiel:

/td/text() 

sollten Sie eine Liste von allen Textknoten unterhalb td

+0

Ein bisschen neu auf dieser Seite, aber ich kann nicht scheinen, Ihre Antwort zu kennzeichnen. Ich werde registrieren und als hilfreich markieren! :) Dank der beiden, immer noch überwältigt von der schnellen Reaktion. – Edwin

+0

Mein Ruf ist noch nicht hoch genug, um es zu markieren, aber danke nochmal. – Edwin

+0

nur 2 weg von der Möglichkeit zu upvote. BTW-Flagging bedeutet, dass Sie es für beleidigend halten. Tu das nicht. – geowa4

Verwandte Themen