Sample code for 30+ languages & platforms
Zig

XML NewChild2 using a Tag Path

See more XML Examples

Demonstrates the XML NewChild2 method using a tag path.

Note: This example requires Chilkat v9.5.0.64 or later.

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

    // Note: This example requires Chilkat v9.5.0.64 or later.
    const xml = try chilkat.Xml.init();
    defer xml.deinit();

    xml.setTag("aaa");

    // A single tag can be passed to NewChild2, and this behaves as it always has:
    xml.newChild2("penguin", "flightless bird");
    xml.newChild2("mammal", "");
    std.debug.print("{s}\n", .{try xml.getXml(alloc)});

    // The output:

    //     <?xml version="1.0" encoding="utf-8" ?>
    //     <aaa>
    //         <penguin>flightless bird</penguin>
    //         <mammal />
    //     </aaa>
    //
    // Starting in v9.5.0.64, a tag path can be used.
    // It will cause nodes to be automatically created as needed.
    xml.newChild2("red|green|blue", "sky");
    xml.newChild2("mammal|rodent|squirrel", "bushy tail");
    std.debug.print("{s}\n", .{try xml.getXml(alloc)});

    // The output:

    //     <?xml version="1.0" encoding="utf-8" ?>
    //     <aaa>
    //         <penguin>flightless bird</penguin>
    //         <mammal>
    //             <rodent>
    //                 <squirrel>bushy tail</squirrel>
    //             </rodent>
    //         </mammal>
    //         <red>
    //             <green>
    //                 <blue>sky</blue>
    //             </green>
    //         </red>
    //     </aaa>
    //
}