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 DLL) 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, Xml; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; xml: HCkXml; xml2: HCkXml; 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 := CkXml_Create(); CkXml_putTag(xml,'soap12:Envelope'); CkXml_AddAttribute(xml,'xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance'); CkXml_AddAttribute(xml,'xmlns:xsd','http://www.w3.org/2001/XMLSchema'); CkXml_AddAttribute(xml,'xmlns:soap12','http://www.w3.org/2003/05/soap-envelope'); CkXml_UpdateAttrAt(xml,'soap12:Body|cteDadosMsg',True,'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 := CkXml_Create(); CkXml_putTag(xml2,'consStatServCTe'); CkXml_AddAttribute(xml2,'versao','4.00'); CkXml_AddAttribute(xml2,'xmlns','http://www.portalfiscal.inf.br/cte'); CkXml_UpdateChildContent(xml2,'tpAmb','2'); CkXml_UpdateChildContent(xml2,'cUF','43'); CkXml_UpdateChildContent(xml2,'xServ','STATUS'); // Add the child tree at the desired location: // Temporarily point to the location where we wish to add the child tree. success := CkXml_FindChild2(xml,'soap12:Body|cteDadosMsg'); if (success = False) then begin // Restore current location to the root. CkXml_GetRoot2(xml); Exit; end; success := CkXml_AddChildTree(xml,xml2); // Restore the current location to the root. CkXml_GetRoot2(xml); // You can see now that the XML contain the child tree: Memo1.Lines.Add(CkXml__getXml(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"> // <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> CkXml_Dispose(xml); CkXml_Dispose(xml2); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.