[Gvsig_desarrolladores] sacar info de XMLItem[]

Laura Díaz laura.diaz en iver.es
Lun Dic 18 13:35:15 CET 2006


Hola Marcos,

en la clase
com.iver.cit.gvsig.project.documents.view.info.gui.InfoToolViewer en el
metodo updateViewer()
puedes ver como se usa  un objeto XMLItem.
XMLItem es un tipo de datos que sirve para homogeneizar los datos
devueltos por el metodo getInfo() en cualquier tipo de capa.
Cuando haces un layer.getInfo te devuelve un XMLItem[],
en el codigo que escribes:

XMLItem[] items = ....
for(int i=0; i<items.length; i++) {
 XMLItem item = items[i];
 FLayer layer = item.getLayer();
 if(layer instanceof InfoByPoint) {
   try { ... } catch {}

Deberias compararlo con el que hay en la clase
com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener;

if (laCapa instanceof InfoByPoint) {
                try {
                    InfoByPoint layer = (InfoByPoint) laCapa;
                    items[i] = layer.getInfo(imagePoint, tol, null)[0];
                    ...}catch()
...

Puedes ver en InfoToolViewer.java como se estan leyendo ahi los XMLItem,
que es la información de atributos de cada capa encapsulada en esta clase,
puedes hacer el toString() y
ver el xml, o html que te devolvera el WMS de una capa WMS con la informacion.
o puedes llamar al metodo parse() XMLItem para obtener el xml representado
en un jtree, en el caso de capas vectoriales (como shapes files) el
xmlitem contiene VectorialXMLItem que
tiene el BitSet con la informacion de atributos de los shapes.

Espero que te ayude,

Laura.





Más información sobre la lista de distribución gvSIG_desarrolladores