PDA

View Full Version : XML Problem.



marcos.miranda
14th April 2018, 15:05
Hi guys.
I have a little problem and would like your help.
My code creates the XML file in this format:

I think the closing tag (<\ Reg0001>) is missing on some lines?
Where am I going wrong?



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Cadastro>
<Cadastros_Empresas Version="1.0">
<Reg0001 Codigo="0001">
<Reg0001 Grupo="G0001"/> ##(Missing a completion tag -> <\Reg0001>)
<Reg0001 Nome_Fantasia="Suportek"/> ##(Missing a completion tag -> <\Reg0001>)
<Reg0001 CNPJ="78.425.986/0036-15"/> ##(Missing a completion tag -> <\Reg0001>)
<Reg0001 tbRepresentantes="Representantes">
<Reg0001 Nome="Ernande Alexandre. P. Santana" CPF="111.111.111-01" FONE01="(81) 98877.5577" FONE02="(81) 95544.6699"/> ##(Missing a completion tag -> <\Reg0001>)
</Reg0001>
<Reg0001 tbSocios="Socios">
<Reg0001 Socio="Ernande Alexandre. P. Santana" CPF="111.111.111-01" FONE01="(81) 98877.5577" FONE02="(81) 95544.6699"/> ##(Missing a completion tag -> <\Reg0001>)
<Reg0001 Socio="Jorgenete Santana" CPF="222.222.222-02" FONE01="(81) 91177.2277" FONE02="(81) 96644.9999"/> ##(Missing a completion tag -> <\Reg0001>)
</Reg0001>
</Reg0001>
</Cadastros_Empresas>




stream.writeStartElement("Cadastros_Empresas");
stream.writeAttribute("Version", "1.0");

stream.writeStartElement("Reg0001");
stream.writeAttribute("Codigo", "0001");

stream.writeStartElement("Reg0001");
stream.writeAttribute("Grupo", "G0001");
stream.writeEndElement();
stream.writeStartElement("Reg0001");
stream.writeAttribute("Nome_Fantasia", "Suportek");
stream.writeEndElement();
stream.writeStartElement("Reg0001");
stream.writeAttribute("CNPJ", "78.425.986/0036-15");
stream.writeEndElement();

// TABELA REPRESENTANTES
{
stream.writeStartElement("Reg0001");
stream.writeAttribute("tbRepresentantes", "Representantes");
stream.writeStartElement("Reg0001");
stream.writeAttribute("Nome", "Ernande Alexandre. P. Santana");
stream.writeAttribute("CPF", "111.111.111-01");
stream.writeAttribute("FONE01", "(81) 98877.5577");
stream.writeAttribute("FONE02", "(81) 95544.6699");
stream.writeEndElement();
stream.writeEndElement();
}
// TABELA SOCIOS
{
stream.writeStartElement("Reg0001");
stream.writeAttribute("tbSocios", "Socios");
stream.writeStartElement("Reg0001");
stream.writeAttribute("Socio", "Ernande Alexandre. P. Santana");
stream.writeAttribute("CPF", "111.111.111-01");
stream.writeAttribute("FONE01", "(81) 98877.5577");
stream.writeAttribute("FONE02", "(81) 95544.6699");
stream.writeEndElement();

stream.writeStartElement("Reg0001");
stream.writeAttribute("Socio", "Jorgenete Santana");
stream.writeAttribute("CPF", "222.222.222-02");
stream.writeAttribute("FONE01", "(81) 91177.2277");
stream.writeAttribute("FONE02", "(81) 96644.9999");
stream.writeEndElement();
stream.writeEndElement();
}
stream.writeEndElement(); // Reg0001
stream.writeEndElement(); // Cadastros_Empresas
stream.writeEndDocument();


Where am I going wrong?

Thank you in advance.

Saurian
15th April 2018, 09:52
Hello,

There is nothing missing. The closing tag will be present only when you have an element between the tags. As long as you have only attributes for that tag, the closing tag is given by the last "/" symbol inside your Reg0001 tag

marcos.miranda
3rd May 2018, 13:45
Hello, how are you
Thanks for the help Saurian.