47 Stimmen

Prüfen, ob XML-Element existiert

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.

2voto

siddharth Punkte 165

Zusätzlich zu sangam Code

if (chNode["innerNode"]["innermostNode"]==null)
            return true; //node    *parentNode*/innerNode/innermostNode exists

1voto

Ash Wilson Punkte 20088

Dies und vieles mehr können Sie mit Hilfe einer XML-Schemasprache validieren, z. B. XSD .

Wenn Sie bedingt, innerhalb des Codes, meinen, dann XPath ist ebenfalls einen Blick wert.

0voto

Priyadarshi Kunal Punkte 528

Nachfolgend finden Sie eine einfache Funktion, mit der Sie überprüfen können, ob ein bestimmter Knoten in der Xml-Datei vorhanden ist oder nicht.

public boolean envParamExists(String xmlFilePath, String paramName){
    try{
        Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(xmlFilePath));
        doc.getDocumentElement().normalize();
        if(doc.getElementsByTagName(paramName).getLength()>0)
            return true;
        else
            return false;
    }catch (Exception e) {
        //error handling
    }
    return false;
}

0voto

Mazinger Punkte 623

Ein bisschen spät, aber wenn es hilft, das funktioniert bei mir...

XmlNodeList NodoEstudios = DocumentoXML.SelectNodes("//ALUMNOS/ALUMNO[@id=\"" + Id + "\"]/estudios");

string Proyecto = "";

foreach(XmlElement ElementoProyecto in NodoEstudios)
{
    XmlNodeList EleProyecto = ElementoProyecto.GetElementsByTagName("proyecto");
    Proyecto = (EleProyecto[0] == null)?"": EleProyecto[0].InnerText;
}

0voto

Sumit Punkte 1

//Prüfen, ob der Wert des Xml-Elements mit XmlReader existiert

          using (XmlReader xmlReader = XmlReader.Create(new StringReader("XMLSTRING")))
           {

               if (xmlReader.ReadToFollowing("XMLNODE")) 

                {
                    string nodeValue = xmlReader.ReadElementString("XMLNODE");                
                }
            }

CodeJaeger.com

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.

Powered by:

X