At 07:02 PM 9/25/2001 +0200, Simone Badoer wrote:
>Hi.
>  
>I need to obtain an Element from a String in a valid XML format, for example:
>  
>Element el =xxxFunction("<TAG attr=\"abc\">\n     <CHILD/>\n</TAG>");
>  
>  I know the inverse function, DOMWriter.nodeToString, what's the right name for 
>xxxFunction?
>  
>Thank you,
>                   Simone.


It's not exactly a SOAP question, but I'm doing such things today,
so... in JAXP, that would be

     String xmlStr="<TAG attr=\'abc\'>\n     <CHILD/>\n</TAG>";
     javax.xml.parsers.DocumentBuilderFactory dbf=
        javax.xml.parsers.DocumentBuilderFactory.newInstance();
     dbf.setNamespaceAware(true); // and so forth, if relevant
     dbf.setValidating(false);
     javax.xml.parsers.DocumentBuilder db=dbf.newDocumentBuilder();
     Document doc=db.parse(
                       new org.xml.sax.InputSource(
                           new java.io.StringReader(xmlStr)));
     Element el=doc.getDocumentElement();

(and rather than DOMWriter.nodeToString you might consider using
a null JAXP transformer, as in
   TransformerFactory tFactory = TransformerFactory.newInstance();
   Transformer transformer = tFactory.newTransformer();
   transformer.transform(new DOMSource(el), new StreamResult(out));

where "out" is a java.io.Writer --- this is clipped from a jsp page;
but only if you want to maximize portability with the option of
running an XSLT stylesheet within the transformer later on...)
Now let's see if somebody posts something better. :-)

Tom Myers

Reply via email to