Sample code for 30+ languages & platforms
Xbase++

Update a String Property in XMP

See more XMP Examples

Demonstrates how to open a JPG or TIF image file, access the XMP metadata, and update the value of a string property. (If the string property does not already exist, it is created.)

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oXmp
LOCAL oXml

nSuccess := 0

//  This example assumes 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.
nSuccess := oXmp:LoadAppFile("qa_data/xmp/AJ_123642_1511.tif")
IF (nSuccess != 1)
    ? oXmp:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

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

//  This example assumes that XMP metadata is already present in the image file.
IF (oXmp:NumEmbedded == 0)
    ? "No XMP metadata already exists.."
    oXmp:destroy()
    RETURN
ENDIF

//  Get the XMP metadata.

oXml := oXmp:GetEmbedded(0)

//  Show the XML:
? oXml:GetXml()

//  Update (overwrite) a string property.
oXmp:AddSimpleStr(oXml, "NumberofTimes", "123")

nSuccess := oXmp:SaveAppFile("qa_output/updated.tif")
IF (nSuccess != 1)
    ? oXmp:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

? "Success."

oXmp:destroy()