Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Xml
long li_AutoCreate

//  Note: This example requires Chilkat v9.5.0.64 or later.
loo_Xml = create oleobject
li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml")
if li_rc < 0 then
    destroy loo_Xml
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Xml.Tag = "animals"

li_AutoCreate = 1

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

//  Show the XML
Write-Debug loo_Xml.GetXml()

//  	<?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..
loo_Xml.UpdateAttrAt("penguin",li_AutoCreate,"feature","black and white")
loo_Xml.UpdateAttrAt("mammal|rodent|squirrel",li_AutoCreate,"feature","grey, red, or black")
loo_Xml.UpdateAttrAt("mammal|rodent|rat",li_AutoCreate,"feature","brown, grey, white, or black")

Write-Debug loo_Xml.GetXml()

//  	<?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>
//  


destroy loo_Xml