La Web del Programador: Comunidad de Programadores
 
    Pregunta:  62195 - PROBLEMAS CON AÑADIR UN HIJO A UN HIJO CON MESSAGEELEMENT
Autor:  Javier Del Rio
Hola a todos, el problema que tengo es que intento añadir un hijo a un hijo para que me quede una estructura de esta forma:

<padre>
<hijo>
<hijo2> <hijo2>
</hijo>
</padre>

y para ello utilizo el siguiente código:

MessageElement[] elementos = new MessageElement[1];
MessageElement[] elemhijos = new MessageElement[2];
elementos[0] = new MessageElement (new QName(nameSpace,"Padre"));
elemhijo[0]=new MessageElement (new QName(nameSpace,"Hijo1"),"hijito1");
elemhijo[1]=new MessageElement (new QName(nameSpace,"Hijo2"),"hijito2");
elemhijo[0].addchild(elemhijo[1]);
elementos[0].addChild(elemhijo[0]);

Dándome el error: java.lang.IllegalStateException: MessageElement.addChild called when an object value is present

¿Que estoy haciendo mal?


Un saludo y gracias de antemano

  Respuesta:  javier Del Rio
Bueno me voy a contestar yo. La respuesta estaba bastante clara pero no la veía. El padre nunca puede tener un valor, es decir:
elementos[0] = new MessageElement (new QName(nameSpace,"Padre"));

Lo que viene comillado como "Padre", hay que quitarlo de esta forma ya tendremos la etiqueta perfectamente configurada.

elementos[0] = new MessageElement (new QName(nameSpace));

Un saludo y espero que si le pasa a alguien más, sepa encontrarlo facilmente.