Sample code for 30+ languages & platforms
Java

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

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

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

    CkXmp xmp = new CkXmp();

    // 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) {
        System.out.println(xmp.lastErrorText());
        return;
        }

    System.out.println("Num embedded XMP docs: " + xmp.get_NumEmbedded());

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

        String propVal = xmp.getStructValue(xml,"Iptc4xmpCore:CreatorContactInfo","Iptc4xmpCore:CiTelWork");
        if (xmp.get_LastMethodSuccess() != true) {
            System.out.println("Not found.");
            }
        else {
            System.out.println(propVal);
            }

        }
    else {
        System.out.println(xmp.lastErrorText());
        }
  }
}