Acceder a los valores de un recurso XML por código
Describe la forma de acceder a los valores de los campos de un contenido estructurado (XML) de OpenCms mediante código java.
//Leemos el recurso actual CmsFile file = cmsObject.readFile(this.getRequestContext().getUri()); CmsXmlContent content = CmsXmlContentFactory.unmarshal(cmsObject(), file); //Obtenemos el locale actual Locale locale = this.getRequestContext().getLocale(); //Leemos el campo que queremos String stringValue = content.getStringValue(cmsObject, NOMBRE_CAMPO, locale);
Para los casos que el campos sea múltiple podremos recorrer todos los valores de la siguiente forma.
Iterator itAtributos = content.getValues(NOMBRE_CAMPO, locale).iterator();
while (itAtributos.hasNext()) {
I_CmsXmlContentValue value = (I_CmsXmlContentValue)itAtributos.next();
String pathAtributo = value.getPath();
String atributo = contentFile.getStringValue(cms, pathAtributo, locale);
}
Sergio Raposo Vargas