Ich versuche, ein Problem zu lösen, das ich in Linq zu XML habe, es scheint, als sollte es ziemlich einfach sein, aber selbst nachdem ich die Fragen von Linq zu XML gelesen habe, kann ich es nicht ganz verstehen.
Nehmen Sie etwas in der folgenden XML-Form:
%Vor%Ich möchte jetzt überprüfen, ob der Benutzer mit der ID 2 eine Telefonnummer hat.
Könnte jemand eine Lösung vorschlagen, wie gesagt, scheint es so einfach zu sein ...
Prost, Ola
Es gibt wahrscheinlich einen besseren und besseren Weg, dies zu tun (ich bin mit Linq-to-XML noch nicht sehr vertraut), aber dieses Code-Snippet sollte funktionieren:
%Vor%Im Grunde listet es alle "user" -Knoten in Ihrem XML auf und dann alle "contactDetails" -Knoten innerhalb des Benutzerknotens und prüft dann, ob darunter "phone" -Unterknoten sind.
Der Aufruf .Descendants()
gibt eine Liste von XElement-Knoten zurück, und wenn es keinen Typ gibt, nach dem Sie sich erkundigt haben, gibt .Count()
auf dieser Liste (ein IEnumerable<T>
) 0 zurück - das ist mein Code sucht nach.
Marc
in Linq to xml können Sie diese schnelle Überprüfung vor dem Abrufen eines Wertes durchführen:
%Vor%funktioniert nicht mit NULL-Daten in der Datenbank, da die Tags mit leeren Daten nicht erstellt werden
dafür müssten Sie die untergeordneten Elemente durchlaufen
Tags und Links linq xml linq-to-xml