Sample code for 30+ languages & platforms
Xbase++

Get a Structure Property Value from XMP

See more XMP Examples

Demonstrates how to open a JPG or TIF image file, access the XMP metadata, and fetch the value of a structure property, such as the Iptc4xmpCore:CiTelWork (found within the Iptc4xmpCore:CreatorContactInfo structure).

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oXmp
LOCAL oXml
LOCAL cPropVal

nSuccess := 0

//  This requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oXmp := CreateObject("Chilkat.Xmp")

//  Load a JPG or TIF image file.
//  Sample JPG's with XMP metadata may be found at:
//  http://www.chilkatsoft.com/testData/xmp/sample1.jpg
//  http://www.chilkatsoft.com/testData/xmp/sample2.jpg
//  http://www.chilkatsoft.com/testData/xmp/sample3.jpg
nSuccess := oXmp:LoadAppFile("sample1.jpg")
IF (nSuccess != 1)
    ? oXmp:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

? "Num embedded XMP docs: " + Str(oXmp:NumEmbedded)

//  Assuming there is at least one, get the 1st.
//  (There is typically never more than one, but theoretically it's possible.)
oXml := oXmp:GetEmbedded(0)
IF (oXmp:LastMethodSuccess == 1)

    cPropVal := oXmp:GetStructValue(oXml, "Iptc4xmpCore:CreatorContactInfo", "Iptc4xmpCore:CiTelWork")
    IF (oXmp:LastMethodSuccess != 1)
        ? "Not found."
    ELSE
        ? cPropVal
    ENDIF

    oXml:destroy()

ELSE
    ? oXmp:LastErrorText
ENDIF

oXmp:destroy()