Wie kann man überprüfen, ob ein bestimmtes Element in einer XML-Datei vorhanden ist? Angenommen, ich habe eine sich ständig ändernde XML-Datei und muss vor dem Lesen/Parsen überprüfen, ob jedes Element vorhanden ist.
Antworten
Zu viele Anzeigen?//wenn das Problem "nur" darin besteht, zu überprüfen, ob das Element in der Xml-Datei vorhanden ist, bevor Sie //den Wert zu extrahieren, könnten Sie wie folgt vorgehen
XmlNodeList YOURTEMPVARIABLE = doc.GetElementsByTagName("YOUR_ELEMENTNAME");
if (YOURTEMPVARIABLE.Count > 0 )
{
doctype = YOURTEMPVARIABLE[0].InnerXml;
}
else
{
doctype = "";
}
Sie können jeden einzelnen Knoten durchlaufen und prüfen, ob ein Knoten existiert.
doc.Load(xmlPath);
XmlNodeList node = doc.SelectNodes("//Nodes/Node");
foreach (XmlNode chNode in node)
{
try{
if (chNode["innerNode"]==null)
return true; //node exists
//if ... check for any other nodes you need to
}catch(Exception e){return false; //some node doesn't exists.}
}
Sie durchlaufen alle Knotenelemente unter Nodes (sagen wir, dies ist Root) und überprüfen Sie, ob Knoten mit dem Namen 'innerNode' (fügen Sie andere, wenn Sie benötigen) vorhanden ist. try..catch ist, weil ich vermute, dass dies populäre 'object reference not set' Fehler auslösen wird, wenn der Knoten nicht existiert.
- See previous answers
- Weitere Antworten anzeigen