Hi Raymond,
It does that because you are creating multiple DOM documents and each
one of those has an XML declaration. You do that here:
> DOMDocument* document = implement->createDocument(0,
> XMLString::transcode("S_RPS"), 0);
If you move that line and the next:
> DOMElement* rootElement = document->getDocumentElement();
out of the loop then you will create 1 document with all the <c_id> elements
inside inside a single <S_PRS> root element.
Cheers,
Gareth
On 16 Dec 2010, at 18:17, Steele, Raymond wrote:
> Hello,
>
> Using Xerces 3.1.0-C++, I am creating a DOMDocument to stdout. I am trying
> to retrieve all the records in a .data file, which is in the form of a C
> struct. Each record has multiple records with many elements. When I run the
> application, the XML Declaration is repeated for each record. I do not like
> this behavior and cannot figure out how to stop it. Can someone shed some
> light? Thanks in advance. Here is a sample of the code.
>
> XMLPlatform::Initialize ();
> DOMImplmentation* implement =
> DOMImplementationRegistry::getDOMImplementation(XMLString:transcode("Core"));
>
> for ( int i=0; i<5; i++)
> {
> DOMDocument* document = implement->createDocument(0,
> XMLString::transcode("S_RPS"), 0);
> DOMElement* rootElement = document->getDocumentElement();
>
> DOMElement* c_id =
> document->createElement(XMLString::transcode("c_id"));
> string new_c_id(struct_name[i].c_id, sizeof(struct_name[i].c_id));
> c_id->setTextContent(XMLString::transcode(new_c_id.c_str()));
> rootElement->appendChild(c_id)
>
> DOMLSSerializer* serializer =
> (DOMImplementationLS*)implement)->createLSSerializer();
> DOMLSOutput* output =
> ((DOMImplementationLS*)implement)->createLSOutput();
> DOMConfiguration* config = serializer->getDomConfig();
> config->setParameter(XMLuni::fgDOMWRTFormatPrettyPrint, true);
> StdOutFormatTarget* target = new StdOutFormatTarget();
> output->setByteStream(target);
> serializer->write(document, output);
>
> delete target;
> output->release();
> serializer->release();
> }
>
> This will produce:
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <S_RPS>
>
> <c_id>AA</c_id>
>
> </S_RPS>
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <S_RPS>
>
> <c_id>AA</c_id>
>
> </S_RPS>
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <S_RPS>
>
> <c_id>AA</c_id>
>
> </S_RPS>
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <S_RPS>
>
> <c_id>AA</c_id>
>
> </S_RPS>
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <S_RPS>
>
> <c_id>AA</c_id>
>
> </S_RPS>
>
> Why does it keep repeating the <?xml version="1.0" encoding="UTF-8"
> standalone="no" ?> ?
>
> Thanks!
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
--
Gareth Reakes, CTO WE7 - Great Music, Free
+44-20-7117-0809 http://www.we7.com
“The music business is a cruel and shallow money trench, a long plastic hallway
where thieves and pimps run free, and good men die like dogs. There's also a
negative side. “
- Hunter S. Thompson