PureBasic
PureBasic
AddAttribute - Insert New Attribute in an XML Node
Demonstrates adding an name=value attribute to an XML element.
This example uses the XML sample file here: sample1.xml. The sample1.xml file contains this content:
Chilkat PureBasic Downloads
IncludeFile "CkXml.pb"
Procedure ChilkatExample()
success.i = 0
xml.i = CkXml::ckCreate()
If xml.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkXml::ckLoadXmlFile(xml,"qa_data/xml/sample1.xml")
If success <> 1
Debug CkXml::ckLastErrorText(xml)
CkXml::ckDispose(xml)
ProcedureReturn
EndIf
; Navigate to the "books" element:
bFound.i = CkXml::ckFindChild2(xml,"books")
If bFound = 0
Debug "No books child found!"
CkXml::ckDispose(xml)
ProcedureReturn
EndIf
numChildren.i = CkXml::ckNumChildren(xml)
i.i = 0
While i < numChildren
; Navigate to the Nth book
CkXml::ckGetChild2(xml,i)
; Display the book title:
Debug CkXml::ckGetAttrValue(xml,"title")
; Add a new integer attribute:
; Should never fail..
CkXml::ckAddAttributeInt(xml,"bookId",i)
; Add a new unread="yes" attribute:
CkXml::ckAddAttribute(xml,"unread","yes")
; Navigate back up to the parent:
CkXml::ckGetParent2(xml)
i = i + 1
Wend
; Navigate back to the document root:
CkXml::ckGetRoot2(xml)
; Save the updated document:
success = CkXml::ckSaveXml(xml,"modified.xml")
If success <> 1
Debug CkXml::ckLastErrorText(xml)
CkXml::ckDispose(xml)
ProcedureReturn
EndIf
Debug CkXml::ckGetXml(xml)
CkXml::ckDispose(xml)
ProcedureReturn
EndProcedure