Frage

Was ist die korrekte Syntax für String-Funktionen der Anwendung (zum Beispiel „normalisieren-space“) auf einem Attribut unterhalb der XPath-Abfrage mit?

Frage: "./@ media"

Ich habe Beispiele dafür an anderer Stelle gesehen, aber wenn ich versuche, es PHP XPath-Bibliothek es gibt nichts zurück ...

War es hilfreich?

Lösung

Mit query () auf einem DOMXPath Objekt immer führt in einer Knotenmenge (eingewickelt in einem DOMNodeList Objekt), nie in einem String.

Sie können nicht die Ergebnisse von XPath-Funktionen herausziehen. Sie müssen die Knoten abfragen, das Sie bearbeiten möchten, und verarbeiten sie in PHP.

Andere Tipps

Verwenden Sie evaluate () statt query(). Es wird ein typisierte Ergebnis zurück. Es ist verfügbar seit PHP 5.1.

$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);

Ausgabe:

string(4) "test"
./[normalize-space(@media)

Bitte versuchen Sie dies.

Wie wäre das?

normalize-space(./@media)

Sie können auch versuchen:

normalize-space(string(./@media))

, aber ich glaube nicht, das ist hier notwendig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top