Link to home
Start Free TrialLog in
Avatar of sureshabb
sureshabb

asked on

Merge two xml documents

Hi,
  I have two xml documents stored as OracleXMLDocGenString objects doc1 & doc2, each of them generated through the qry.getXML() method. Now i want to merge the two documents into a third OracleXMLDocGenString Object doc.

I tried the method docAppend in OracleXMLDocGenString
like
doc.createNewDocument(true);
doc.docAppend(doc1);
doc.docAppend(doc2);
but this appends a null to my document doc instead of the xml.

The doc1.getXMLDocumentString() & doc2.getXMLDocumentString() returns the whole 347 records i have in my xml document and so i am sure the objects doc1 and doc2 are properly created.

Can anyone tell me how i can merge the two documents into one.

Thank you
Suresh
Avatar of BigRat
BigRat
Flag of France image

I suspect that the API definition of docAppend() takes a node list or an XML string and not a "document". I tried to find an API specification for the call on the Oracle site but they restrict passwords to 6-16 characters and Rat's don't like that!

So I would suggest you either try to post the API and/or try something along the lines :-

    doc.docAppend(doc1.document());
or
    doc.docAppend(doc1.getXMLDocumentString());

HTH
Avatar of sureshabb
sureshabb

ASKER

Thank you for the research. The API was defined for the parent class OracleXMLDocGen.
So i had to redefine the doc, doc1 and doc2 as OracleXMLDocGen instead of OracleXMLDocGenString and then populate them with the qry.getXML()
A Method newDocGenDoc helped me create a child node to be appended to the parent doc.

Suresh
ASKER CERTIFIED SOLUTION
Avatar of BigRat
BigRat
Flag of France image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
It's time to clean up this topic area and that means taking care of this question. Your options at this point are:

1. Award points to the Expert who provided an answer, or who helped you most. Do this by clicking on the "Accept Comment as Answer" button that lies above and to the right of the appropriate expert's name.

2. PAQ the question because the information might be useful to others, but was not useful to you. To use this option, you must state why the question is no longer useful to you, and the experts need to let me know if they feel that you're being unfair.

3.  Ask Community Support to help split points between participating experts.  Just comment here with details.

4.  Delete the question because it is of no value to you or to anyone else.  To use this option, you must state why the question is no longer useful to you, and the experts need to let me know if they feel that you're being unfair.

If you elect for option 2, 3 or 4, just post comment with details here and I'll take it from there.  We also request that you review any other open questions you might have and update/close them.  Display all your question history from your Member Profile to view details.

PLEASE DO NOT AWARD THE POINTS TO ME.
____________________________________________
---------->  Hi Experts:

In the event that the Asker does not respond, I would very much appreciate your opinions as to which Expert ought to receive points (if any) as a result of this question.  Likewise, you can also suggest that I PAQ or delete the question.

------------->  The ALL TOPICS link has been updated today to reflect all the new TAs.

Thank you everyone.

Moondancer :)
Community Support Moderator @ Experts Exchange
<review>

<recommendation>
delete question
</recommendation>

<objection>
any objection should be raised within 7 days
</objection>

<reviewer>
b1xml2
</reviewer>

</review>
thank you for finalising this question. As usual, you shd provide explanation for grades other than A.
Thanks for returning and finalizing your questions.  Please let us know where we fell short of expectations, given you've assigned a "B" grade versus "A".  If this was in error, I can correct this.  Your points remains the same, but the expert points that flow are a direct result of the grades assigned.  If you found additional information outside this question thread, and can add it here, that will help others as they access this item looking for solutions in the future.

Moondancer - EE Moderator
Sorry the grade should be 'A'
Thank you, this has been corrected.
Moondancer - EE Moderator