Sample code for 30+ languages & platforms
PureBasic

HasChildWithTag using a Tag Path

Demonstrates calling HasChildWithTag with a tag path.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    xml.i = CkXml::ckCreate()
    If xml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkXml::setCkTag(xml, "world")

    CkXml::ckNewChild2(xml,"north_america|united_states|california|san_francisco","Silicon Valley")
    CkXml::ckNewChild2(xml,"north_america|united_states|california|san_diego","Birthplace of California")
    CkXml::ckNewChild2(xml,"north_america|united_states|illinois|chicago","Windy City")

    Debug CkXml::ckGetXml(xml)

    ; Produces the following XML
    ; 
    ; 	<?xml version="1.0" encoding="utf-8" ?>
    ; 	<world>
    ; 	    <north_america>
    ; 	        <united_states>
    ; 	            <california>
    ; 	                <san_francisco>Silicon Valley</san_francisco>
    ; 	                <san_diego>Birthplace of California</san_diego>
    ; 	            </california>
    ; 	            <illinois>
    ; 	                <chicago>Windy City</chicago>
    ; 	            </illinois>
    ; 	        </united_states>
    ; 	    </north_america>
    ; 	</world>
    ; 

    hasChicago.i = CkXml::ckHasChildWithTag(xml,"north_america|united_states|illinois|chicago")
    Debug "hasChicago = " + Str(hasChicago)

    hasNaperville.i = CkXml::ckHasChildWithTag(xml,"north_america|united_states|illinois|naperville")
    Debug "hasNaperville = " + Str(hasNaperville)

    hasIllinois.i = CkXml::ckHasChildWithTag(xml,"north_america|united_states|illinois")
    Debug "hasIllinois = " + Str(hasIllinois)


    CkXml::ckDispose(xml)


    ProcedureReturn
EndProcedure