C#, Linq to XML vérifier si un élément existe
J'ai un document XML comme suit:
<Database>
<SMS>
<Number>"+447528349828"</Number>
<Date>"09/06/24</Date>
<Time>13:35:01"</Time>
<Message>"Stop"</Message>
</SMS>
<SMS>
<Number>"+447528349828"</Number>
<Date>"09/06/24</Date>
<Time>13:35:01"</Time>
<Message>"Stop"</Message>
</SMS>
</Database>
Je suis en train de vérifier si le numéro de nœud enfant du parent SMS nœud existe dans le document (à des fins de validation pour éviter l'insertion de données en double).
Tout conseil sur une éventuelle solution?
EDIT:
L'élément sera comparé à une chaîne d'entrée. Par exemple, si(inputNumber == xmlDocNumber){ //Ne pas Insérer un Nouvel Élément }
- Pourriez-vous nous donner quelques exemples de (pseudo?) code pour donner un contexte et une image plus claire de ce qu'il vous faut>
- Aucun de ces travaux grr!
- comment le code de l'échantillon de l'aide..........trouver n'importe quel élément dans un document xml.......ce que je pourrais vous donner en plus de ce que j'ai?
Vous devez vous connecter pour publier un commentaire.
Je vous suggère un angle légèrement différent à l'aide de
Count()
- utilisationAny()
. L'avantage est que Tout() peut arrêter dès qu'il pénètre à l'une d'entre elles correspond à tous:Dans ce cas, il ne fait pas beaucoup d'attente, mais dans les cas où
Count()
pourrait compter un million de vues juste pour vous dire qu'il y a au moins un, c'est un bon truc à savoir. Je dirais que c'est aussi une meilleure indicateur de ce que tu veux dire.Any
partie est faire le vérifier. Je ne sais pas quel est le problème auquel vous êtes confronté, il est donc difficile d'être plus précis. Vous devriez peut-être poser une nouvelle question?En supposant que vous avez votre numéro dans certains canoniser forme et votre XML est chargé dans un
XmlDocument
ou quelque chose comme ça, le plus simple non-LINQ façon de le faire est avec une requête XPath:Vous pouvez appliquer une feuille de style XSL document qui traduit les données en parcourant les SMS nœuds et à l'exclusion de tout qui a un Numéro en double/text() valeur
Vérifier serait quelque chose comme: