Sample code for 30+ languages & platforms
C#

Extract and Save PDF from SOAP XML

See more XML Examples

Demonstrates how to extract and save PDF file that is embedded in SOAP XML (or any XML).

Chilkat C# Downloads

C#
bool success = false;

Chilkat.Xml xml = new Chilkat.Xml();

success = xml.LoadXmlFile("qa_data/soap/soapWithPdf.xml");
if (success != true) {
    Debug.WriteLine(xml.LastErrorText);
    return;
}

// The XML we loaded looks like this:

// <?xml version="1.0" encoding="utf-8" ?>
// <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
//     <s:Body>
//         <ObtenerPDFResponse xmlns="http://xyz.org/">
//             <ObtenerPDFResult xmlns:a="http://schemas.xyz.org/something" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
//                 <a:CBB i:nil="true" />
//                 <a:CodigoConfirmacion i:nil="true" />
//                 <a:ErrorDetallado />
//                 <a:ErrorGeneral i:nil="true" />
//                 <a:FechaGenerada i:nil="true" />
//                 <a:FolioGenerado i:nil="true" />
//                 <a:OperacionExitosa>true</a:OperacionExitosa>
//                 <a:PDF>JVBERi0xLjQKJe...</a:PDF>
//                 <a:XML i:nil="true" />
//             </ObtenerPDFResult>
//         </ObtenerPDFResponse>
//     </s:Body>
// </s:Envelope>

Chilkat.Xml pdfElement = xml.FindChild("s:Body|ObtenerPDFResponse|ObtenerPDFResult|a:PDF");
if (xml.LastMethodSuccess != true) {
    Debug.WriteLine("Did not find the PDF element at the expected location.");
    return;
}

success = pdfElement.SaveBinaryContent("qa_output/out.pdf",false,false,"");
if (success != true) {
    Debug.WriteLine(xml.LastErrorText);
    return;
}

Debug.WriteLine("Successfully extracted and saved the PDF.");