PugiXML: Prüfen ob ein XML-Element existiert

English Deutsch

Das Prüfen, ob ein Element in PugiXML existiert, ist einfach: Rufen Sie einfach bool(element) auf oder verwenden Sie das Element direkt in einer if-Klausel:

pugixml_check_example.cpp
// Beispiel für die Verwendung von bool(element)
cout << "<root-element> existiert: " << std::boolalpha
    << bool(doc.child("root-element")) << endl;
cout << "<not-root-element> existiert: " << std::boolalpha
    << bool(doc.child("not-root-element")) << endl;

// Beispiel für die direkte Verwendung des Elements in einer if-Klausel
if(doc.child("root-element")) {
    cout << "Ja, <root-element> existiert!" << endl;
}

Vollständiges Beispiel:

pugixml_example.cpp
#include <iostream>
#include <pugixml.hpp>
using namespace std;
using namespace pugi;

int main() {
    xml_document doc;
    xml_parse_result result = doc.load_file("test.xml");

    // Beispiel für die Verwendung von bool(element)
    cout << "<root-element> existiert: " << std::boolalpha
         << bool(doc.child("root-element")) << endl;
    cout << "<not-root-element> existiert: " << std::boolalpha
         << bool(doc.child("not-root-element")) << endl;

    // Beispiel für die direkte Verwendung des Elements in einer if-Klausel
    if(doc.child("root-element")) {
        cout << "Ja, <root-element> existiert!" << endl;
    }
}
CMakeLists.txt
add_executable(pugixml-example pugixml-example.cpp)
target_link_libraries(pugixml-example pugixml)
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<root-element>Test text</root-element>

Kompilieren mit:

build_and_make.sh
cmake .
make

Check out similar posts by category: C/C++