Sample code for 30+ languages & platforms
Zig Requires Chilkat v11.0.0+

Get ZIP Directory Information as XML

See more Zip Examples

This example demonstrates how to use the GetDirectoryAsXML method to retrieve information about the contents of a ZIP archive as an XML document.

The returned XML describes the files currently contained in the ZIP object

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // Open an existing ZIP archive.
    const zip = try chilkat.Zip.init();
    defer zip.deinit();

    zip.openZip("example.zip") catch {
        std.debug.print("{s}\n", .{try zip.getLastErrorText(alloc)});
        return;
    };

    // Get the ZIP directory information as XML.
    const xml = try zip.getDirectoryAsXML(alloc);

    std.debug.print("{s}\n", .{xml});

    // Suppose the ZIP contains:

    // data/config/settings.json
    // docs/readme.txt
    // images/logo.png

    // The XML contains one element for each ZIP entry.
    // Example:
    //
    // <?xml version="1.0" encoding="utf-8"?>
    // <zip_contents>
    //     <dir name="data">
    //         <dir name="config">
    //             <file>settings.json</file>
    //         </dir>
    //     </dir>
    //     <dir name="docs">
    //         <file>readme.txt</file>
    //     </dir>
    //     <dir name="images">
    //         <file>logo.png</file>
    //     </dir>
    // </zip_contents>

    zip.closeZip();

    std.debug.print("Done.\n", .{});
}