Wie Sie XPath verwenden, um zu überprüfen, wenn <Erfolg /> Knoten vorhanden ist
Arbeite ich mit PHP und XPath-Verbindung zu einem remote-XML-basierte API. Eine Beispiel-Antwort vom server ist, wie dies unten dargestellt ist.
<OTA_PingRS>
<Success />
<EchoData>This is some test data</EchoData>
</OTA_PingRS>
Können Sie sehen, es gibt keine Start-tag <Success>
so, wie ich die Suche für die Existenz <Success />
mit Xpath?
Dank
Simon
Der normale Weg, was haben Sie versucht?
InformationsquelleAutor PrestonDocks | 2012-09-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
<Success />
element ist ein leeres element, was bedeutet, es hat keinen Wert. Es ist sowohl Start-und Ende-Tag.Können Sie test auf die Existenz von Knoten mit XPath-Funktion
boolean()
Zu tun, die mit
DOMXPath
müssen Sie dieDOMXPath::evaluate()
- Methode, da wird es wieder ein typisiertes Ergebnis, in diesem Fall einboolean
:demo
Natürlich können Sie auch einfach Abfrage für
/OTA_PingRS/Success
und sehen, ob es Ergebnisse in der zurückgegebenenDOMNodeList
:demo
Können Sie auch SimpleXML:
InformationsquelleAutor Gordon
Syntax:
ist genau den gleichen zu
Zur Prüfung der Existenz des
<Success />
, verwenden Sie einfach einen Pfad wie diesem:Können Sie nun testen, uf das Ergebnis leer ist. Wenn ja, die
<Success />
element nicht vorhanden ist.InformationsquelleAutor Vito Gentile
Verwenden
boolval($xpath)
Funktion prüfen Sie den booleschen Wert des xpath, die Sie wollen zu prüfen, die Existenz.InformationsquelleAutor Sukeshini