Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi ActiveX) XML Add Child TreeDemonstrates the Xml.AddChildTree method.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var success: Integer; xml: TChilkatXml; xml2: TChilkatXml; begin // Build the following XML: // <?xml version="1.0" encoding="utf-8"?> // <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> // <soap12:Body> // <cteDadosMsg xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4"> // </cteDadosMsg> // </soap12:Body> // </soap12:Envelope> xml := TChilkatXml.Create(Self); xml.Tag := 'soap12:Envelope'; xml.AddAttribute('xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance'); xml.AddAttribute('xmlns:xsd','http://www.w3.org/2001/XMLSchema'); xml.AddAttribute('xmlns:soap12','http://www.w3.org/2003/05/soap-envelope'); xml.UpdateAttrAt('soap12:Body|cteDadosMsg',1,'xmlns','http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4'); // We want to add the following XML as a sub-tree under the "cteDadosMsg" element. // <consStatServCTe versao="4.00" xmlns="http://www.portalfiscal.inf.br/cte"> // <tpAmb>2</tpAmb> // <cUF>43</cUF> // <xServ>STATUS</xServ> // </consStatServCTe> // Build the XML to be added as a child tree. xml2 := TChilkatXml.Create(Self); xml2.Tag := 'consStatServCTe'; xml2.AddAttribute('versao','4.00'); xml2.AddAttribute('xmlns','http://www.portalfiscal.inf.br/cte'); xml2.UpdateChildContent('tpAmb','2'); xml2.UpdateChildContent('cUF','43'); xml2.UpdateChildContent('xServ','STATUS'); // Add the child tree at the desired location: // Temporarily point to the location where we wish to add the child tree. success := xml.FindChild2('soap12:Body|cteDadosMsg'); if (success = 0) then begin // Restore current location to the root. xml.GetRoot2(); Exit; end; success := xml.AddChildTree(xml2.ControlInterface); // Restore the current location to the root. xml.GetRoot2(); // You can see now that the XML contain the child tree: Memo1.Lines.Add(xml.GetXml()); // <?xml version="1.0" encoding="utf-8"?> // <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> // <soap12:Body> // <cteDadosMsg xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4"> // <consStatServCTe versao="4.00" xmlns="http://www.portalfiscal.inf.br/cte"> // <tpAmb>2</tpAmb> // <cUF>43</cUF> // <xServ>STATUS</xServ> // </consStatServCTe> // </cteDadosMsg> // </soap12:Body> // </soap12:Envelope> end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.