Sample code for 30+ languages & platforms
Dart

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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final xSoapEnvelope = CkXml();

  try {
    xSoapEnvelope.loadXmlFile('soapMessage.xml');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
  print('SOAP envelope tag: ${xSoapEnvelope.tag}');

  // The SOAP body (in this case) is a direct child of the SOAP envelope
  // and has the tag "soapenv:Body"
  final CkXml xSoapBody;
  try {
    xSoapBody = xSoapEnvelope.findChild('soapenv:Body');
  } on ChilkatException {
    print('No direct child having the tag "soapenv:Body" was found.');
    return;
  }

  // The SOAP message body is the direct child of the SOAP envelope body:
  final CkXml xMessageBody;
  try {
    xMessageBody = xSoapBody.findChild('TimbreFiscalDigital');
  } on ChilkatException {
    print('No direct child having the tag "TimbreFiscalDigital" was found.');

    return;
  }

  // If desired, get the XML of just the SOAP message body:
  final soapMessageXml = xSoapBody.getXml();

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