A->b->c
existieren könnte, aber c
möglicherweise nicht existiert. Wie kann ich das überprüfen?
Dies sollte die akzeptierte Antwort sein, die derzeit akzeptierte ist falsch.
A->b->c
existieren könnte, aber c
möglicherweise nicht existiert. Wie kann ich das überprüfen?
Nein, die Docs geben an, dass es FALSE zurückgibt, wenn ein Fehler vorliegt, nicht wenn der Pfad keine Ergebnisse liefert.
Xpath verwenden:
function has_child(\SimpleXMLElement $parent=null, string $xpathToChild)
{
return isset($parent) && !empty($parent->xpath('('.$xpathToChild.')[1]'));
}
donde $parent
ein indirekter oder direkter Elternteil des zu prüfenden untergeordneten Knotens ist und $xpathToChild
ist ein xpath des Childs relativ zu $parent
.
()[1]
ist, weil wir nicht alle Kindknoten auswählen wollen. Einer ist genug.
Prüfen, ob $a->b->c existiert:
has_child($a,'b/c');
Sie können auch nach Attributen suchen. Um zu prüfen, ob der Knoten c
hat die t
Attribut.
has_child($a,'b/c/@t');
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
1 Stimmen
Bitte wählen Sie eine neue Antwort