PureBasic
PureBasic
Access an Inner Node of an XML Document
See more XML Examples
Demonstrates how to navigate to a particular inner node of an XML document.The XML sample used in this example is also available here: Sample SOAP XML Document
Chilkat PureBasic Downloads
IncludeFile "CkXml.pb"
Procedure ChilkatExample()
success.i = 0
; This example navigates to the "qualificationData" node of the XML document shown below.
xml.i = CkXml::ckCreate()
If xml.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkXml::ckLoadXmlFile(xml,"qa_data/xml/soapDoc.xml")
qualData.i = CkXml::ckFindChild(xml,"soap:Body|v1:createEvents|events|qualificationData")
If CkXml::ckLastMethodSuccess(xml) <> 1
Debug "Not found."
CkXml::ckDispose(xml)
ProcedureReturn
EndIf
; Iterate over the "instructions" child nodes and show the value of each.
n.i = CkXml::ckNumChildrenHavingTag(qualData,"instructions")
i.i = 0
strValue.s
While i < n
CkXml::setCkI(qualData, i)
strValue = CkXml::ckGetChildContent(qualData,"instructions[i]|value")
If CkXml::ckLastMethodSuccess(qualData) = 1
; A node at the tag path existed (i.e. the "value" node existed)
Debug Str(i) + ": " + strValue
EndIf
i = i + 1
Wend
CkXml::ckDispose(qualData)
; <?xml version="1.0"?>
; <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v1="http://www.mywebsite.com/v6/MyEvent">
; <soap:Header>
; <ROClientIDHeader soap:mustUnderstand="0" xmlns="http://tempuri.org/">
; <ID>{69CE6D9E-B75E-422F-A79C-D4918192EAD9}</ID>
; </ROClientIDHeader>
; </soap:Header>
; <soap:Body>
; <v1:createEvents xmlns:v1="http://www.mywebsite.com/v6/MyEvent">
; <events>
; <coreData>
; <anomaly>false</anomaly>
; <contacts>
; <coordinates>Mobile</coordinates>
; <flags>0</flags>
; <label>0606060606</label>
; <type>MOBILE</type>
; </contacts>
; <contacts>
; <coordinates>Telephone</coordinates>
; <flags>0</flags>
; <label>040400404</label>
; <type>PHONE</type>
; </contacts>
; <contacts>
; <coordinates>Fax</coordinates>
; <flags>0</flags>
; <label>0505050505</label>
; <type>FAX</type>
; </contacts>
; <contacts>
; <coordinates>Email</coordinates>
; <flags>0</flags>
; <label>test@test.com</label>
; <type>EMAIL</type>
; </contacts>
; <creationDate>2017-03-21T09:43:04.043</creationDate>
; <description>Buble Tea Bar</description>
; <earliestDate>2017-03-25T00:00:00</earliestDate>
; <expirationDate>2017-04-03T00:00:00</expirationDate>
; <orderingCustomer>ACME INTERNATIONAL</orderingCustomer>
; <priority>0</priority>
; <referentialData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:externalReferentialData">
; <customerName>ACME INTERNATIONAL</customerName>
; <equipmentName />
; <location>
; <address>adresseSite</address>
; <city>VilleSite</city>
; <contact>Sarah Croche</contact>
; <description>DescriptionSite</description>
; <name>Male � bar</name>
; <zipCode>69007</zipCode>
; </location>
; </referentialData>
; </coreData>
; <id>INTERV00102</id>
; <message />
; <qualificationData>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>description</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>Intervention � realiser</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>customerName</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>ACME INTERNATIONAL</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>orderingCustomer</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>ACME INTERNATIONAL</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>Description</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>Buble Tea Bar</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>Name</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>Male � bar</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>earliestDate</id>
; <fillingDate>2017-03-20T00:00:00</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>expirationDate</id>
; <fillingDate>2017-03-24T00:00:00</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>Acompte</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>200</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>Affaire</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>AFF56</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>DelaiStandard</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>off</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>address</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>adresseSite</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>city</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>VilleSite</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>zipCode</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>69007</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>description</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>DescriptionSite</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>ID</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>ENT</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>creationDate</id>
; <fillingDate>2017-03-21T09:43:04.043</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>MOBILE</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>0606060606</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>PHONE</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>040400404</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>FAX</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>0505050505</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>EMAIL</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>test@test.com</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>contact</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>Sarah Croche</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>DatePrevPose</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>SoldeAPayer</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>Id</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>tech1</value>
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>appointmentDate</id>
; <fillingDate>2017-03-22T10:00:00.607</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>schedulingDate</id>
; <fillingDate>2017-03-22T11:00:00.607</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>schedulingEndDate</id>
; <fillingDate>2017-03-22T12:00:00.607</fillingDate>
; <value />
; <valueCode />
; </instructions>
; <instructions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:reportField">
; <id>Tableau2</id>
; <rows>
; <id>Ligne 1</id>
; <cells>
; <id>objet</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>Fenêtre</value>
; <valueCode />
; </cells>
; <cells>
; <id>largeur</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>100</value>
; <valueCode />
; </cells>
; <cells>
; <id>hauteur</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>50</value>
; <valueCode />
; </cells>
; </rows>
; <rows>
; <id>Ligne 2</id>
; <cells>
; <id>objet</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>Porte</value>
; <valueCode />
; </cells>
; <cells>
; <id>largeur</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>220</value>
; <valueCode />
; </cells>
; <cells>
; <id>hauteur</id>
; <fillingDate>1899-12-30T00:00:00</fillingDate>
; <value>100</value>
; <valueCode />
; </cells>
; </rows>
; </instructions>
; <type>
; <duration>0</duration>
; <id>ENT</id>
; </type>
; </qualificationData>
; <remoteStatus />
; <schedulingData>
; <agentId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:externalEntityId">
; <id>tech1</id>
; </agentId>
; <appointmentDate>2017-03-28T10:00:00.607</appointmentDate>
; <schedulingDate>2017-03-28T12:00:00.607</schedulingDate>
; <schedulingEndDate>2017-03-28T14:00:00.607</schedulingEndDate>
; <useSchedulingHour>true</useSchedulingHour>
; </schedulingData>
; <status>NEW</status>
; </events>
; </v1:createEvents>
; </soap:Body>
; </soap:Envelope>
CkXml::ckDispose(xml)
ProcedureReturn
EndProcedure