Java Gerar XML Permitir Tag Com valor null

6 respostas
U

Estou gerando XML com esse codigo

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
                    DocumentBuilder docBuilder;

                    docBuilder = docFactory.newDocumentBuilder();
                    org.w3c.dom.Document doc = docBuilder.newDocument(DocumentBuilderFactory);


                    Element rootElement = doc.createElement("documento");
                    doc.appendChild(rootElement);

                 
                    Element numero = doc.createElement("numero");
                    numero.appendChild(doc.createTextNode(String.valueOf((cdc.get(cont) + cont + 1))));
                    rootElement.appendChild(numero);

                    Element tipo = doc.createElement("tipo");
                    tipo.appendChild(doc.createTextNode("CDCMN"));
                    rootElement.appendChild(tipo);
                   TransformerFactory transformerFactory = TransformerFactory.newInstance();
                    Transformer transformer = transformerFactory.newTransformer();
                    transformer.setOutputProperty(OutputKeys.ENCODING, "iso-8859-1");
                    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                    doc.setXmlStandalone(true);
                    DOMSource source = new DOMSource(doc);
                    
                    int cdcpasto = cdc.get(cont) + cont + 1;
                    StreamResult result = new StreamResult(new File("C:\\cdc/CDCPASTO" + cdcpasto + ".xml"));
                    result.toString();
                    transformer.transform(source, result);
                    System.out.println("File saved!");
So se tiver createTextNode("") estiver vazio ele cria uma Tag xml assim: mas tem como ser G.T.

6 Respostas

M

para XML

=

qual o problema da segunda notação ?

U

o webservice que mando este arquivo xml não permite esse tipo de tag

B

Urbano

Faça isso que resolve.

Element numero = doc.createElement("numero");
        
String value = String.valueOf((cdc.get(cont) + cont + 1));
        
if(value != null)
      	numero.appendChild(doc.createTextNode(value));
        
rootElement.appendChild(numero);

Agora, precisar resolver isso… rs

U

O que fiz foi

Element numero = doc.createElement("numero");
        
String value = String.valueOf((cdc.get(cont) + cont + 1));
        
if(value != null){
      	numero.appendChild(doc.createTextNode(value));
        }
else{
        numero.appendChild(doc.createTextNode(" "));
}
rootElement.appendChild(numero);

ai gera

B

Remova o else, se olhar no meu código não coloquei.

Não conheço outra maneira de resolver.

U

certo
Funcionou muito obrigado

Criado 12 de março de 2013
Ultima resposta 12 de mar. de 2013
Respostas 6
Participantes 3