tengo un pequeño problemilla al generar un fichero XML con JDOM que no consigo solucionar.
Necesito general el siguiente documento:
Código:
En JAVA hago lo siguiente:<?xml version="1.0" encoding="UTF-8"?> <accessModeObject xmlns="http://......" xmlns:xsi="http://www....." xsi:schemaLocation="http://www.....xsd"> <accessMode> <tipo1>colour</tipo1> <tipo2>size</tipo2> </accessMode> <accessMode> <tipo1>weight</tipo1> <tipo2>forme</tipo2> </accessMode> </accessModeObject>
Código:
El problema es que me propaga el NAMESPACE a todos los hijos y el resultado es:Document document = new Document(); Namespace namespace = Namespace.getNamespace("http://......"); Element accessModeObject= new Element("accessModeObject", namespace); Namespace XSI = Namespace.getNamespace("xsi", "http://www....."); accessForAllUser.addNamespaceDeclaration(XSI); accessForAllUser.setAttribute("schemaLocation", "http://www.....xsd", XSI); document.addContent(accessModeObject); // Relleno el AccessMode con los tipos Element accessMode = new Element("accessMode"); accessMode.addContent("size"); //etc accessModeObject.addContent(accessMode);
Código:
<?xml version="1.0" encoding="UTF-8"?> <accessModeObject xmlns="http://......" xmlns:xsi="http://www....." xsi:schemaLocation="http://www.....xsd"> <accessMode xmlns=""> <tipo1>colour</tipo1> <tipo2>size</tipo2> </accessMode> <accessMode xmlns=""> <tipo1>weight</tipo1> <tipo2>forme</tipo2> </accessMode> </accessModeObject>
he probado con
Código:
o conaccessMode.removeNamespaceDeclaration(namespace);
Código:
Element accessMode = new Element("accessMode", "");
pero nada, no funciona.
¿¿Cómo puedo quitar el nameSpace de los hijos del rootElement??