Sample code for 30+ languages & platforms
Lua

Xml TagPath Property Explained

See more XML Examples

Demonstrates and explains the TagPath property.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local xml = chilkat.Xml.new()

-- Load some XML:
local success = xml:load_xml("<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>")

print(xml:get_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:
local found = xml:search_for_tag2(xml, "z")
if found then
    -- We found a node having the tag "z".
    -- The TagPath property tells us the location in the document.
    local tagPath = xml.tag_path
    print(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.
    xml:get_root2()
    print(xml.tag)
    -- The root tag is "a".

    -- Follow the tagPath to the "z" node:
    found = xml:find_child2(tagPath)
    print("found = " .. tostring(found) .. ", tag = " .. xml.tag)
    -- We are now at "z".
end