Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

pugixml perpustakaan pemrosesan XML ringan dengan dukungan XPath

Abstrak

Pada artikel ini saya akan menjelaskan cara menggunakan pugixml untuk memproses data XML. Dengan pustaka pemrosesan ini, Anda dapat menggunakan DOM parser untuk membaca dan memanipulasi node dan XPATH notasi untuk meminta node.

Cara membangun

Untuk membangun sumber, Anda harus mengunduh rilis dari https://github.com/zeux/pugixml/tags. Sekarang Anda dapat mengkompilasi silang sumber dengan PLCnext rantai alat yang diberikan oleh Phoenix Contact . Cuplikan kode berikut akan menampilkan cmake script untuk melakukan kompilasi silang.


    #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

Cara menggunakan

Pertama, Anda harus mengintegrasikan C++ header dan perpustakaan di lingkungan proyek Anda. Setelah selesai, Anda dapat menggunakan pugixml pemrosesan.

Memuat dokumen


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

    ...

Melintasi subnode dari node tertentu

Anda dapat melintasi melalui pohon DOM dan Anda juga dapat memanipulasi node.


    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();
        }
    }

Menggunakan XPATH

XPath memberi Anda kebebasan untuk mengakses node dan atribut dengan sangat mudah.


    //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]");

Menyimpan dokumen XML

Anda dapat menyimpan dokumen XML.


   doc.save_file("new_data.xml");

Informasi Lebih Lanjut

Jika Anda tertarik untuk mendapatkan informasi lebih lanjut tentang pugixml Anda dapat memeriksa tautan berikut:

Lisensi

Perpustakaan diterbitkan di bawah Lisensi MIT


Teknologi Industri

  1. Sirkuit Dengan Sakelar
  2. Aritmatika dengan Notasi Ilmiah
  3. Tanya Jawab dengan Arsitek Solusi Industri 4.0
  4. Renesas:MCU RX72M dengan dukungan EtherCAT untuk aplikasi industri
  5. Peta di C++ Standard Template Library (STL) dengan Contoh Cetak
  6. calloc() Fungsi di C Library dengan Program CONTOH
  7. free() Fungsi di pustaka C:Bagaimana cara menggunakannya? Belajar dengan Contoh
  8. Python - Pemrosesan XML
  9. Bagaimana Cara Membuat Perhiasan dengan Mesin CNC?
  10. Linq perpustakaan pemrosesan daftar untuk C++