XPath-Ausdruck gibt nichts für // Element zurück, aber // * gibt eine Anzahl zurück

Ich verwende XOM mit den folgenden Beispieldaten:

Element root = cleanDoc.getRootElement();
//find all the bold elements, as those mark institution and clinic.
Nodes nodes = root.query("//*");

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
    <head>
        <title>Patient Information</title>
    </head>
</html>

Das folgende Element gibt viele Elemente (aus realen Daten) zurück:

//*

aber so ähnlich

//head

Gibt nichts zurück. Wenn ich die Kinder der Wurzel durchlaufe, scheinen die Zahlen übereinzustimmen, und wenn ich den Elementnamen drucke, scheint alles richtig auszusehen.

Ich nehme HTML, analysiere es mit tagsoup und erstelle dann ein XOM-Dokument aus der resultierenden Zeichenfolge. Welcher Teil davon könnte so schrecklich schief gehen? Ich habe das Gefühl, dass hier ein seltsames Codierungsproblem vorliegt, aber ich sehe es einfach nicht. Java Strings sind Strings, oder?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage