Esta es la manera para crear el xml:
Código Java:
Ver originalpublic static void crearXML(NSGDBean pet){
try {
//Serializamos
os.writeObject(pet);
//crear el XML
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docbuilder = docFactory.newDocumentBuilder();
//elementos root
Document doc
= docbuilder.
newDocument(); Element rootElement
= doc.
createElement("ACCIONES_NSGD"); doc.appendChild(rootElement);
//Parametros
Element func
= doc.
createElement("FUNCION"); func.appendChild(doc.createTextNode(pet.getMetodoNSGD()));
rootElement.appendChild(func);
System.
out.
println(bos.
toString());
Element param
= doc.
createElement("PARAMETROS"); param.appendChild(doc.createTextNode(bos.toString("UTF-8")));
//param.appendChild(doc.createTextNode("todos los parametros"));
rootElement.appendChild(param);
//escribimos el contenido en el fichero
TransformerFactory transformerfactory = TransformerFactory.newInstance();
Transformer transformer = transformerfactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result
= new StreamResult
(new File("C:\\Downloads\\cierreExpediente.xml"));
transformer.transform(source, result);
System.
out.
println("Fichero guardado!");
//ProxyNSGD.procesaPeticionNSGD(bos.toString());
} catch (ParserConfigurationException e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
} catch (TransformerConfigurationException e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
} catch (TransformerException e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
// TODO Bloque catch generado automáticamente
e.printStackTrace();
}
}
Est el el xml que creo
Código XML:
Ver original<?xml version="1.0" encoding="UTF-8" ?>
- <ACCIONES_NSGD>
<FUNCION>cierreExpediente</FUNCION>
<PARAMETROS>�sr%es.NSGD.Bean.NSGDBeanB�L闡L claseNSGDtLjava/lang/String;L metodoNSGDq~L parametrostLjava/util/List;xptExpedienteNSGDtcierreExpedientesrjava.util.ArrayListx��a�IsizexpwtidUsuario_pruebatobjectStore_pruebatidExpediente_pruebax</PARAMETROS>
</ACCIONES_NSGD>
Este es el error al leer:
Fatal Error] cierreExpediente.xml:1:106: La referencia de carácter "" no es un carácter XML no válido.
org.xml.sax.SAXParseException: La referencia de carácter "" no es un carácter XML no válido.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(U nknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at es.NSGD.Pruebas.Prueba.unserial(Prueba.java:42)
at es.NSGD.Pruebas.Prueba.main(Prueba.java:32)