Traté:¿Cómo añadir un atributo a un nodo XML en Java 1.4
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(f);
Node mapNode = getMapNode(doc);
System.out.print("\r\n elementName "+ mapNode.getNodeName());//This works fine.
Element e = (Element) mapNode; //This is where the error occurs
//it seems to work on my machine, but not on the server.
e.setAttribute("objectId", "OBJ123");
Pero esto genera un error java.lang.ClassCastException en la línea que lo arroja a elemento. mapNode es un nodo válido. Ya lo tengo imprimiendo
Creo que tal vez este código no funcione en Java 1.4. Lo que realmente necesito es una alternativa al uso de Element. Intenté hacer
NamedNodeMap atts = mapNode.getAttributes();
Attr att = doc.createAttribute("objId");
att.setValue(docId);
atts.setNamedItem(att);
Pero getAttributes() devuelve nulo en el servidor. Aunque no es así y estoy usando el mismo documento localmente que en el servidor. Y puede imprimir getNodeName() simplemente es que getAttributes() no funciona.
¿Podría proporcionar más detalles? ¿Cuál es el seguimiento exacto de la pila? – gizmo
La única información útil que el seguimiento de pila dice es java.lang.ClassCastException – joe
Lo arroja al Elemento e = (Elemento) doc.getFirstChild() línea – joe