xmlbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hacking Bear" <hackingb...@gmail.com>
Subject Re: Outputing XML beans
Date Tue, 05 Dec 2006 20:46:33 GMT
Hello,

Can anyone help me on this?

At least I want to know if it is a bug or by design that the top-most
element (e.g. the "Request" element in the example") are omitted. This makes
it hard to write generic codes because one has to know the document type to
wrap the xml bean object.

Thanks



On 12/4/06, Hacking Bear <hackingbear@gmail.com> wrote:
>
> Hi,
>
> I eventually can insert one XML bean into another using cursor. But still
> some question:
>
> 1. As experiment at point (A) and (B) below, it seems that XMLBean inserts
> the child after the cursor, rather than at the cursor, so I have to wrp it
> in a dummy doc or parent element. This also seems contradicting to the
> tutorial/document. Any idea why this is the case?
>
> 2. Is there a simpler API method that insert an XmlObject? Something like:
>        body.insert(XmlObject); // generated
>        cursor.insert(XmlObject); // cursor-based
>
> Thanks
>
> public class SOAPXBeanOutputTest {
>     public static void main(String[] args) throws Exception {
>         RequestType request = RequestType.Factory.newInstance();
>         request.setIssueInstant(Calendar.getInstance());
>         request.setRequestID ("REQ123");
>         AttributeQueryType query = request.addNewAttributeQuery();
>         SubjectType subject = SubjectType.Factory.newInstance();
>         NameIdentifierType nameId = subject.addNewNameIdentifier ();
>         nameId.setStringValue("NAME123");
>         query.setSubject((SubjectType)subject.copy());
>
>         EnvelopeDocument soapDoc = EnvelopeDocument.Factory.newInstance();
>         Envelope soapEnv = soapDoc.addNewEnvelope();
>         Body soapBody = soapEnv.addNewBody();
>
>         XmlCursor cursor = soapBody.newCursor();
>         cursor.toNextToken();
>
>         // (A) if not wrapping in dummy doc/element, results in output
> ...<soapenv:Body><urn:AttributeQuery...
>         RequestDocument dummyDoc = RequestDocument.Factory.newInstance();
>         dummyDoc.setRequest(request);
>
>         XmlCursor reqcursor = dummyDoc.newCursor(); // typs = STARTDOC
>         //reqcursor.toFirstChild(); // (B) this results in output
> ...<soapenv:Body><urn:AttributeQuery...
>         reqcursor.moveXmlContents(cursor);
>
>         reqcursor.dispose();
>         cursor.dispose();
>
>         soapDoc.save(System.out);
>     }
> }
>
>

Mime
View raw message