Sample code for 30+ languages & platforms
PureBasic

Demonstrate the XML UpdateAttrAt Method

See more XML Examples

Demonstrates the XML UpdateAttrAt method to update attribute name/value pairs in XML.

Note: This example requires Chilkat v9.5.0.64 or later.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    ; Note: This example requires Chilkat v9.5.0.64 or later.
    xml.i = CkXml::ckCreate()
    If xml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkXml::setCkTag(xml, "animals")

    autoCreate.i = 1

    ; When the autoCreate argument equals 1, the UpdateAttrAt
    ; method auto-creates the children as needed:
    CkXml::ckUpdateAttrAt(xml,"penguin",autoCreate,"feature","flightless bird")
    CkXml::ckUpdateAttrAt(xml,"mammal|rodent|squirrel",autoCreate,"feature","bushy tail")
    CkXml::ckUpdateAttrAt(xml,"mammal|rodent|rat",autoCreate,"feature","long hairless tail")

    ; Show the XML
    Debug CkXml::ckGetXml(xml)

    ; 	<?xml version="1.0" encoding="utf-8" ?>
    ; 	<animals>
    ; 	    <penguin feature="flightless bird" />
    ; 	    <mammal>
    ; 	        <rodent>
    ; 	            <squirrel feature="bushy tail" />
    ; 	            <rat feature="long hairless tail" />
    ; 	        </rodent>
    ; 	    </mammal>
    ; 	</animals>
    ; 

    ; Now update each node's "feature" attribute..
    CkXml::ckUpdateAttrAt(xml,"penguin",autoCreate,"feature","black and white")
    CkXml::ckUpdateAttrAt(xml,"mammal|rodent|squirrel",autoCreate,"feature","grey, red, or black")
    CkXml::ckUpdateAttrAt(xml,"mammal|rodent|rat",autoCreate,"feature","brown, grey, white, or black")

    Debug CkXml::ckGetXml(xml)

    ; 	<?xml version="1.0" encoding="utf-8" ?>
    ; 	<animals>
    ; 	    <penguin feature="black and white" />
    ; 	    <mammal>
    ; 	        <rodent>
    ; 	            <squirrel feature="grey, red, or black" />
    ; 	            <rat feature="brown, grey, white, or black" />
    ; 	        </rodent>
    ; 	    </mammal>
    ; 	</animals>
    ; 


    CkXml::ckDispose(xml)


    ProcedureReturn
EndProcedure