PureBasic
PureBasic
Xml TagPath Property Explained
See more XML Examples
Demonstrates and explains the TagPath property.Note: The TagPath property was introduced in Chilkat v9.5.0.77
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
; Load some XML:
success = CkXml::ckLoadXml(xml,"<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>")
Debug CkXml::ckGetXml(xml)
; This is what we have:
; <?xml version="1.0" encoding="utf-8"?>
; <a>
; <bbb>
; <ccc>
; <ddd>1</ddd>
; <ddd>
; <z>zzz</z>
; </ddd>
; <ddd>3</ddd>
; </ccc>
; </bbb>
; </a>
; The TagPath property is read-only property that returns the unique path to the
; node from the document root.
; For example:
found.i = CkXml::ckSearchForTag2(xml,xml,"z")
If found = 1
; We found a node having the tag "z".
; The TagPath property tells us the location in the document.
tagPath.s = CkXml::ckTagPath(xml)
Debug tagPath
; The tagPath is bbb|ccc|ddd[1]|z
; If we to back to the document root, we can get to the given node via the tagPath.
CkXml::ckGetRoot2(xml)
Debug CkXml::ckTag(xml)
; The root tag is "a".
; Follow the tagPath to the "z" node:
found = CkXml::ckFindChild2(xml,tagPath)
Debug "found = " + Str(found) + ", tag = " + CkXml::ckTag(xml)
; We are now at "z".
EndIf
CkXml::ckDispose(xml)
ProcedureReturn
EndProcedure