Sample code for 30+ languages & platforms
Zig

Access SOAP Body XML

Demonstrates how to access the SOAP body in XML.
<?xml version="1.0" encoding="utf-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
    <soapenv:Body>
        <tfd:TimbreFiscalDigital version="1.0" />
    </soapenv:Body>
</soapenv:Envelope>

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

    const x_soap_envelope = try chilkat.Xml.init();
    defer x_soap_envelope.deinit();

    x_soap_envelope.loadXmlFile("soapMessage.xml") catch {
        std.debug.print("{s}\n", .{try x_soap_envelope.getLastErrorText(alloc)});
        return;
    };

    // The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
    std.debug.print("SOAP envelope tag: {s}\n", .{try x_soap_envelope.getTag(alloc)});

    // The SOAP body (in this case) is a direct child of the SOAP envelope
    // and has the tag "soapenv:Body"
    const x_soap_body = x_soap_envelope.findChild("soapenv:Body") catch {
        std.debug.print("No direct child having the tag \"soapenv:Body\" was found.\n", .{});
        return;
    };
    defer x_soap_body.deinit();

    // The SOAP message body is the direct child of the SOAP envelope body:
    const x_message_body = x_soap_body.findChild("TimbreFiscalDigital") catch {
        std.debug.print("No direct child having the tag \"TimbreFiscalDigital\" was found.\n", .{});

        return;
    };
    defer x_message_body.deinit();

    // If desired, get the XML of just the SOAP message body:
    _ = try x_soap_body.getXml(alloc);

    // --------------------------------------------------------------------------------
    // Also see Chilkat's Online WSDL Code Generator
    // to generate code and SOAP Request and Response XML for each operation in a WSDL.
    // --------------------------------------------------------------------------------
}