Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

pugixml ist eine leichte XML-Verarbeitungsbibliothek mit XPATH-Unterstützung

Zusammenfassung

In diesem Artikel werde ich erklären, wie man pugixml verwendet XML-Daten zu verarbeiten. Mit dieser Verarbeitungsbibliothek können Sie einen DOM verwenden Parser zum Lesen und Manipulieren von Knoten und dem XPATH Notation zum Abfragen von Knoten.

Wie man baut

Um die Quellen zu erstellen, müssen Sie eine Version von https://github.com/zeux/pugixml/tags herunterladen. Jetzt können Sie die Quelle mit dem PLCnext crosskompilieren Toolchain gegeben durch Phoenix Contact . Das folgende Code-Snippet zeigt den cmake script zu crosskompilieren.


    #Please set the environment variables to your needs 

    cmake \
    -G "Unix Malkefiles" \
    -D CMAKE_BUILD_TYPE=Release \
    -D BUILD_TESTING=OFF \
    -D BUILD_SHARED_LIBS=ON \
    -D "CMAKE_STAGING_PREFIX=${CMAKE_STAGING_PREFIX}" \
    -D "CMAKE_INSTALL_PREFIX=${CMAKE_STAGING_PREFIX}" \
-D "CMAKE_TOOLCHAIN_FILE=${ARP_TOOLCHAIN_FILE}" \
-D "ARP_TOOLCHAIN_ROOT= ${ARP_TOOLCHAIN_ROOT}" \ -D BUILD_TESTS=OFF \ -S "${SOURCE_DIRECTORY}" \ -B "${BUILD_DIRECTORY}" cmake --build "${BUILD_DIRECTORY}" --target install

Verwendung

Zuerst müssen Sie den C++ header einbinden und die Bibliothek in Ihrer Projektumgebung. Wenn Sie fertig sind, können Sie den pugixml verwenden Verarbeitung.

Laden eines Dokuments


    pugi::xml_document doc;
    pugi::xml_parse_result result = doc.load_file("data.xml");

    ...

Traversieren von Unterknoten von einem gegebenen Knoten

Sie können den DOM-Baum durchlaufen und auch die Knoten manipulieren.


    pugi::xpath_node_set tools = doc.select_nodes("/Profile/Tools/Tool");

    //traversing subnodes
    for (pugi::xml_node tool: tools)
    {
        std::cout << " " << tool.name();

        //getting attributes
        for (pugi::xml_attribute attr: tool.attributes())
        {
            std::cout << " " << attr.name() << "=" << attr.value();
        }
    }

XPATH verwenden

XPATH gibt Ihnen die Freiheit, sehr einfach auf Knoten und Attribute zuzugreifen.


    //accessing node
    pugi::xpath_node_set tools = doc.select_nodes("/Profile/Tools/Tool");
    pugi::xpath_node_set all_tools = doc.select_nodes("//Tool");

    //accessing attibutes
    auto docIdNode = doc.select_node("@ID");
    auto docIdNode_One = doc.select_node("//Tool[@ID==1]");

XML-Dokument speichern

Sie können das XML-Dokument speichern.


   doc.save_file("new_data.xml");

Weitere Informationen

Wenn Sie an weiteren Informationen über pugixml interessiert sind Sie können die folgenden Links überprüfen:

Lizenz

Die Bibliothek wird unter der MIT-Lizenz veröffentlicht


Industrietechnik

  1. Schaltung mit Schalter
  2. Arithmetik mit wissenschaftlicher Notation
  3. Fragen und Antworten mit einem Industrie-4.0-Lösungsarchitekten
  4. Renesas:RX72M-MCUs mit EtherCAT-Unterstützung für industrielle Anwendungen
  5. Karte in C++ Standard Template Library (STL) mit Druckbeispiel
  6. calloc()-Funktion in der C-Bibliothek mit Programm BEISPIEL
  7. free()-Funktion in der C-Bibliothek:Wie verwenden? Lernen Sie mit Beispiel
  8. Python - XML-Verarbeitung
  9. Wie bearbeitet man Schmuck mit CNC-Bearbeitung?
  10. Linq die Listenverarbeitungsbibliothek für C++