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

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Xml;
import com.chilkatsoft.chilkat2.Xmp;

public class ChilkatExample {

    public static void main(String[] args) {
        // This requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Xmp xmp = new 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
        try {
            xmp.loadAppFile("sample1.jpg");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

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

        // Assuming there is at least one, get the 1st.
        // (There is typically never more than one, but theoretically it's possible.)
        Xml xml;
        try {
            xml = xmp.getEmbedded(0);
        } catch (ChilkatException e) {
            xml = null;
        }
        if (xml != null) {
            String propVal = null;
            try {
                propVal = xmp.getStructValue(xml, "Iptc4xmpCore:CreatorContactInfo", "Iptc4xmpCore:CiTelWork");
                System.out.println(propVal);
            } catch (ChilkatException e) {
                System.out.println("Not found.");
            }
            xml.close();
        } else {
            System.out.println(xmp.getLastErrorText());
        }
    }
}