Sample code for 30+ languages & platforms
Go

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 Go Downloads

Go
    success := false

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

    xmp := chilkat.NewXmp()

    // 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
    success = xmp.LoadAppFile("sample1.jpg")
    if success != true {
        fmt.Println(xmp.LastErrorText())
        xmp.DisposeXmp()
        return
    }

    fmt.Println("Num embedded XMP docs: ", xmp.NumEmbedded())

    // Assuming there is at least one, get the 1st.
    // (There is typically never more than one, but theoretically it's possible.)
    xml := xmp.GetEmbedded(0)
    if xmp.LastMethodSuccess() == true {

        propVal := xmp.GetStructValue(xml,"Iptc4xmpCore:CreatorContactInfo","Iptc4xmpCore:CiTelWork")
        if xmp.LastMethodSuccess() != true {
            fmt.Println("Not found.")
        } else {
            fmt.Println(*propVal)
        }

        xml.DisposeXml()

    } else {
        fmt.Println(xmp.LastErrorText())
    }


    xmp.DisposeXmp()